Collections. sort 를 이용 하여 정렬 하 는 몇 가지 방법
데이터 형식의 포장 류 도 마찬가지다.
List<String> lists = new ArrayList<String>();
lists.add("6");
lists.add("5");
lists.add("10");
//lists String compareTo , sort ,
Collections.sort(lists);
2. 사용자 정의 클래스 는 일반적으로 두 가지 방법 으로 정렬 을 실현 합 니 다.
Comparable 인 터 페 이 스 를 실현 합 니 다
public class Test implements Comparable<Test>{
private int order;
public int getOrder() {
return order;
}
public void setOrder(int order) {
this.order = order;
}
@Override
public int compareTo(Test t) { //
return new Integer(this.order).compareTo(new Integer(t.getOrder()));
}
}
2. Comparator 인 터 페 이 스 를 실현 한다.
public class Apple {
private String appleName;
private String appleColor;
private String appleProvider;
public Apple(String appleName, String appleColor, String appleProvider) {
super();
this.appleName = appleName;
this.appleColor = appleColor;
this.appleProvider = appleProvider;
}
@Override
public String toString() {
return "appleName=" + appleName;
}
}
import java.util.Comparator;
public class Test implements Comparator<Apple> {
private int comparatorType;
/**
* comparatorType 0 , appleName
* comparatorType 1 , appleColor
* comparatorType 2 , appleProvider
* @param comparatorType
*/
public Test(int comparatorType) {
this.comparatorType = comparatorType;
}
@Override
public int compare(Apple lhs, Apple rhs) {
if(0 == this.comparatorType)
return lhs.getAppleName().compareTo(rhs.getAppleName());
else if(1 == this.comparatorType)
return lhs.getAppleColor().compareTo(rhs.getAppleColor());
else if(2 == this.comparatorType)
return lhs.getAppleProvider().compareTo(rhs.getAppleProvider());
return 0;
}
}
public static void main(String[] args){
List<Apple> apples = new ArrayList<Apple>();
apples.add(new Apple("h", "b", "hd"));
apples.add(new Apple("a", "c", "gf"));
Collections.sort(apples, new Test(2));//
System.out.println(apples.toString());
}
:[appleName=a, appleName=h]
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.