자바 객체 정렬은 어떻게 하나요?
조회수 474회
//여기에 코드를 입력하세요
private Product[] products = null;
private void searchFromDate(Product[] plist) {
}
이렇게 만든 후에 Product 라는 클래스 안에 있는 productId(제품의 제품번호) 를 오름차순으로 정렬하고 싶습니다. Collections 나 sort 함수들을 다 써봤지만 오류만 뜨고 불가능하더군요. 함수 인자를 보면 아시겠지만 int나 String이 아닌 Product[] 라는 별개의 객체타입 입니다. 예를들어 Collections.sort(plist); 로 정렬을 하려고 하면 The method sort(List) in the type Collections is not applicable for the arguments (Product[]) 이런식으로 뜹니다. sort도 마찬가지고요. 이 객체의 productId를 오름차순으로 정렬하는 방법을 알고싶습니다.
1 답변
-
Product라는 클래스의 정렬 기준을 정의하지 않았기 때문입니다.
class Product implements Comparable<Product> { @Override public int compareTo(Product p) { return getProductId() - p.getProductId(); } }
Product 선언하실 때 이런 느낌으로 compareTo를 정의하면 될거예요
그래도 잘 모르시겠다면
java comparable
검색해보세요
댓글 입력