Java에서 ArrayList를 정렬하는 방법
저는 과일이라는 수업이 있어요.저는 이 반의 목록을 만들고 각각의 과일을 추가하고 있습니다.저는 이 목록을 과일 이름 순서로 정렬하고 싶습니다.
public class Fruit{
private String fruitName;
private String fruitDesc;
private int quantity;
public String getFruitName() {
return fruitName;
}
public void setFruitName(String fruitName) {
this.fruitName = fruitName;
}
public String getFruitDesc() {
return fruitDesc;
}
public void setFruitDesc(String fruitDesc) {
this.fruitDesc = fruitDesc;
}
public int getQuantity() {
return quantity;
}
public void setQuantity(int quantity) {
this.quantity = quantity;
}
}
for loop을 사용하여 목록을 만듭니다.
List<Fruit> fruits= new ArrayList<Fruit>();
Fruit fruit;
for(int i=0;i<100;i++)
{
fruit = new fruit();
fruit.setname(...);
fruits.add(fruit);
}
목록 내 각 개체의 과일 이름을 사용하여 이 arrayList를 정렬해야 합니다.
어떻게요?
를 사용하다Comparator다음과 같습니다.
List<Fruit> fruits= new ArrayList<Fruit>();
Fruit fruit;
for(int i = 0; i < 100; i++)
{
fruit = new Fruit();
fruit.setname(...);
fruits.add(fruit);
}
// Sorting
Collections.sort(fruits, new Comparator<Fruit>() {
@Override
public int compare(Fruit fruit2, Fruit fruit1)
{
return fruit1.fruitName.compareTo(fruit2.fruitName);
}
});
이제 과일 리스트는 다음 기준으로 정렬됩니다.fruitName.
과일과의 동등한 인터페이스를 구현합니다.
public class Fruit implements Comparable<Fruit> {
그것은 방법을 구현한다.
@Override
public int compareTo(Fruit fruit) {
//write code here for compare name
}
그러면 콜 정렬 방식을 실행한다.
Collections.sort(fruitList);
Apache Commons에서 BeanComparator를 사용해 보십시오.
import org.apache.commons.beanutils.BeanComparator;
BeanComparator fieldComparator = new BeanComparator("fruitName");
Collections.sort(fruits, fieldComparator);
언급URL : https://stackoverflow.com/questions/18441846/how-to-sort-an-arraylist-in-java
'programing' 카테고리의 다른 글
| phpexcel을 사용하여 데이터를 읽고 데이터베이스에 삽입하려면 어떻게 해야 합니까? (0) | 2022.12.20 |
|---|---|
| 업데이트 후 MariaDB를 시작할 수 없음: [경고] 테스트 파일 /home/mysql/beta.lower-test를 생성할 수 없습니다. (0) | 2022.12.20 |
| Java 옵션 -Xmx는 무엇을 나타냅니까? (0) | 2022.12.20 |
| 플레인 JavaScript로 div 높이 가져오기 (0) | 2022.12.20 |
| Runtime Error: 응용 프로그램 컨텍스트 외부에서 작업 (0) | 2022.12.20 |