programing

Java에서 ArrayList를 정렬하는 방법

goodjava 2022. 12. 20. 21:20

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