Tôi đã làm việc với một ví dụ mà nó sử dụng ArrayList chứa các cá thể mới và sử dụng phương thức Collections.sort() bằng cách sử dụng giao diện có thể so sánh. Tôi không biết tại sao nó in ra các hashcode khi nó sắp xếp và nơi các lỗi trong mã của tôi. Bất cứ ai có thể xin vui lòng tìm ra những sai lầm và giải thích cho tôi một cách chi tiết.Khi sử dụng Collections.sort(), nó sắp xếp và in mã băm
SortFruitObject.java
import java.util.*;
public class SortFruitObject{
public static void main(String[] args){
ArrayList<Fruit> frui = new ArrayList<Fruit>();
frui.add(new Fruit("Pine", "PineDesc", 500));
frui.add(new Fruit("Apple", "AppleDesc", 400));
frui.add(new Fruit("Banana", "BananaDesc", 450));
frui.add(new Fruit("JackFruit", "JackFruitDesc", 300));
Collections.sort(frui);
System.out.println(frui);
}
}
Fruit.java
import java.io.*;
import java.util.*;
public class Fruit implements Comparable<Fruit>{
private String fruitName;
private String fruitDesc;
private int fruitQuantity;
public int compareTo(Fruit f){
return fruitName.compareTo(f.getFruitName());
}
public Fruit(String fruitName, String fruitDesc, int fruitQuantity){
this.fruitName = fruitName;
this.fruitDesc = fruitDesc;
this.fruitQuantity = fruitQuantity;
}
public void setFruitName(String fruitName){
this.fruitName = fruitName;
}
public void setFruitDesc(String fruitDesc){
this.fruitDesc = fruitDesc;
}
public void setFruitQuantity(int fruitQuantity){
this.fruitQuantity = fruitQuantity;
}
public String getFruitName(){
return fruitName;
}
public String getFruitDesc(){
return fruitDesc;
}
public int getFruitQuantity(){
return fruitQuantity;
}
}
Output:
[[email protected], [email protected], [email protected], [email protected]]
Bạn cần phải ghi đè 'phương pháp toString'. –
Siêu Rohit. Nó hoạt động. –
Bạn được chào đón :) –