2014-09-01 5 views
0

다른 속성과 관련하여 속성을 정렬하는 방법을 알아야합니다. 예를 들면. 과일이라는 클래스가 있고 이름, 가격, 색상, 개수 등의 속성을 가지고 있으며 객체 배열에 저장되어 있습니다. 과일의 가격을 어떻게 조정할 수 있을지는 의문입니다. 해당 과일의 이름과 색상에 대한 순서 (오름차순 또는 내림차순)다른 속성과 관련하여 속성을 주문하는 방법은 무엇입니까?

+2

이것은 당신이 사용자 정의 비교를 정의하면 수행 할 수 있습니다 작성할 수 있습니다. – kai

+0

@kai, 답변으로 의견 게시 – AlexR

답변

1

LaptopComparable을 구현하고 compareTo 메소드에서 순서를 정의 할 수 있습니다.

public class Laptop implements Comparable<Laptop>{ 

    public int compareTo(Laptop compareLaptop) { 
     //logic here 
    } 
} 

은 그럼 그냥 전화 :

List<Laptop> laptops = new ArrayList<Laptop>(); 
Collections.sort(laptops); 

좋은 튜토리얼 : http://www.mkyong.com/java/java-object-sorting-example-comparable-and-comparator/

1

자바 (8)에서 당신이

List<Laptop> sorted = laptops.stream() 
     .sort(comparing(Laptop::getCapacity).reversed() 
      .thenComparing(Laptop::getSpeed)) 
     .collect(toList()): 
관련 문제