Java Bean 클래스가 있는데이 Bean의 목록을 String 유형의 Bean 하나의 속성으로 정렬하려고합니다. 어떻게해야합니까?Java에서 객체의 문자열 값을 기준으로 정렬하는 방법
0
A
답변
4
형식 자체를 Comparable<Foo>
으로 구현하고 두 문자열을 비교하여 compareTo
메서드를 구현하거나 Comparator<Foo>
을 구현하여 문자열을 다시 비교하십시오.
첫 번째 방법을 사용하면 Collections.sort()
을 직접 사용할 수 있습니다. 사용자 정의 비교기를 사용하여
public class Foo {
public String getBar() {
...
}
}
public class FooComparatorByBar implements Comparator<Foo> {
public int compare(Foo x, Foo y) {
// TODO: Handle null values of x, y, x.getBar() and y.getBar(),
// and consider non-ordinal orderings.
return x.getBar().compareTo(y.getBar());
}
}
+1
해야 Comparer보다는 Comparator가 좋습니까? –
+0
@Scobal : 예, 더 큰 편집을 수정했습니다. –
1
: 두 번째로는 예를 들어 Collections.sort(collection, new FooComparator());
를 사용하는 거라고? Guava를 사용
import java.util.*;
class Bean {
public final String name;
public final int value;
public Bean(final String name, final int value) {
this.name = name;
this.value = value;
}
@Override
public String toString() {
return name + " = " + value;
}
}
public class SortByProp {
private static List<Bean> initBeans() {
return new ArrayList<Bean>(Arrays.asList(
new Bean("C", 1),
new Bean("B", 2),
new Bean("A", 3)
));
}
private static void sortBeans(List<Bean> beans) {
Collections.sort(beans, new Comparator<Bean>() {
public int compare(Bean lhs, Bean rhs){
return lhs.name.compareTo(rhs.name);
}
});
}
public static void main(String[] args) {
List<Bean> beans = initBeans();
sortBeans(beans);
System.out.println(beans);
}
}
0
, 그냥
의Collections.sort(list, Ordering.natural().compose(Functions.toStringFunction()));
의
관련 문제
- 1. 장고에서 계산 된 값을 기준으로 정렬하는 방법
- 2. 날짜 객체의 NSMutableArray를 정렬하는 방법
- 3. PowerShell : 그룹을 기준으로 정렬하는 방법?
- 4. 값을 기준으로 결과 집합을 정렬하는 방법은 무엇입니까?
- 5. (날짜) 값을 기준으로 TreeMap을 정렬하는 방법은 무엇입니까?
- 6. 문자열 값을 기준으로 목록을 정렬하려고합니다.
- 7. 문자열 값을 기준으로 멤버를 지정하십시오.
- 8. 글로벌 작동하지 않음/속성 값을 기준으로 정렬하는 방법
- 9. Java에서 단일 문자열 정렬
- 10. 자바를 사용하여 영숫자 값을 기준으로 정렬하는 방법은 무엇입니까?
- 11. 문자열을 문자열 ar로 정렬하는 방법
- 12. Django 모델 객체의 영숫자 목록을 정렬하는 방법
- 13. MySql 테이블 값을 기준으로 정렬 된 문자열
- 14. 쿼리 문자열 값을 기준으로 요소 표시/숨기기
- 15. 값을 주어진 정렬에 정렬하는 방법
- 16. iphone에서 NSDictionary 값을 정렬하는 방법
- 17. 트리보기 wpf 값을 정렬하는 방법
- 18. 포인터가 가리키는 값을 기준으로 이중 포인터 배열을 정렬하는 방법은 무엇입니까?
- 19. Java에서 변수와 부정 변수를 정렬하는 방법
- 20. Java에서 숫자가 포함 된 문자열을 정렬하는 방법
- 21. 속성을 기준으로 속성을 기반으로 자바 스크립트 객체를 정렬하는 방법
- 22. Java에서 JSON 문자열 객체의 형식을 확인하는 가장 좋은 방법은 무엇입니까?
- 23. Java에서 관련 객체의 직렬화
- 24. Java에서 실행 가능한 객체의 변수에 액세스하는 방법
- 25. Java에서 객체의 정적 배열을 초기화하는 방법
- 26. Java에서 문자열 패턴을 찾는 방법
- 27. Java에서 객체의 수퍼 클래스 직렬화
- 28. 통화 valus (문자열)를 오른쪽으로 정렬하는 방법
- 29. Java에서 영숫자를 정렬하는 방법은 무엇입니까?
- 30. Java에서 문자열 배열 정렬
가능한 중복 : http://stackoverflow.com/questions/3342517/sorting-arraylist-of-objects-by-object-attribute – Kris