Sorting an ArrayList of Objects alphabetically

前端 未结 5 568
一个人的身影
一个人的身影 2021-02-02 08:49

I have to create a method that sorts an ArrayList of objects alphabetically according to email and then prints the sorted array. The part that I am having trouble with

相关标签:
5条回答
  • 2021-02-02 09:22

    The sorting part can be done by implementing a custom Comparator<Vehicle>.

    Collections.sort(vehiclearray, new Comparator<Vehicle>() {
        public int compare(Vehicle v1, Vehicle v2) {
            return v1.getEmail().compareTo(v2.getEmail());
        }
    });
    

    This anonymous class will be used for sorting the Vehicle objects in the ArrayList on the base of their corresponding emails alphabetically.

    Upgrading to Java8 will let you also implement this in a less verbose manner with a method reference:

    Collections.sort(vehiclearray, Comparator.comparing(Vehicle::getEmail));
    
    0 讨论(0)
  • 2021-02-02 09:23

    Although the question already has an accepted answer I would like to share some Java 8 solution

    // if you only want to sort the list of Vehicles on their email address
    Collections.sort(list, (p1, p2) -> p1.getEmail().compareTo(p2.getEmail()));
    

    .

    // sort the Vehicles in a Stream
    list.stream().sorted((p1, p2) -> p1.getEmail().compareTo(p2.getEmail()));
    

    .

    // sort and print with a Stream in one go
    list.stream().sorted((p1, p2) -> p1.getEmail().compareTo(p2.getEmail())).forEach(p -> System.out.printf("%s%n", p));
    

    .

    // sort with an Comparator (thanks @Philipp)
    // for the list
    Collections.sort(list, Comparator.comparing(Vehicle::getEmail));
    // for the Stream
    list.stream().sorted(Comparator.comparing(Vehicle::getEmail)).forEach(p -> System.out.printf("%s%n", p));
    
    0 讨论(0)
  • 2021-02-02 09:31

    clearest

    vehiclearray.sort(Comparator.comparing(Vehicle::getEmail()));
    
    0 讨论(0)
  • 2021-02-02 09:36

    In this link you can find code which will help you to sort arraylist of objects in descending and ascending order.

    http://beginnersbook.com/2013/12/java-arraylist-of-object-sort-example-comparable-and-comparator/

    0 讨论(0)
  • 2021-02-02 09:37

    package srikanthdukuntla;

    import java.util.ArrayList; import java.util.List;

    public class AlphabetsOrder {

    public static void main(String[] args) {
    
        String temp;
        List<String> str= new ArrayList<String>();
    
        str.add("Apple");
        str.add("zebra");
        str.add("Umberalla");
        str.add("banana");
        str.add("oxo");
        str.add("dakuntla");
        str.add("srikanthdukuntla");
        str.add("Dukuntla");
    
        for(int i=0;i<str.size();i++){
    
            for(int j=i+1;j<str.size();j++){
    
         if(str.get(i).compareTo(str.get(j))<0){
    
                temp=str.get(i);
                str.set(i, str.get(j));
                str.set(j,temp );   
    
         }
            }
        }
    
      System.out.println("List of words in alphabetical order   "+str);
    
    }
    

    }

    0 讨论(0)
提交回复
热议问题