Java中List的排序
第一種方法,就是list中物件實現Comparable介面,程式碼如下:
public
class
Person
implements
Comparable<Person> {
private
String name;
private
Integer order;
/**
* @return the name
*/
public
String getName() {
return
name;
}
/**
* @param name
* the name to set
*/
public
void
setName(String name) {
this
.name = name;
}
/**
* @return the order
*/
public
Integer getOrder() {
return
order;
}
/**
* @param order
* the order to set
*/
public
void
setOrder(Integer order) {
this
.order = order;
}
@Override
public
int
compareTo(Person arg0) {
return
this
.getOrder().compareTo(arg0.getOrder());
}
}
public
static
void
main(String[] args) {
List<Person> listA =
new
ArrayList<Person>();
Person p1 =
new
Person();
Person p2 =
new
Person();
Person p3 =
new
Person();
p1.setName(
"name1"
);
p1.setOrder(
1
);
p2.setName(
"name2"
);
p2.setOrder(
2
);
p3.setName(
"name3"
);
p3.setOrder(
3
);
listA.add(p2);
listA.add(p1);
listA.add(p3);
Collections.sort(listA);
for
(Person p : listA) {
System.out.println(p.getName());
}
}
第二種方法,就是在過載Collections.sort方法,程式碼如下:
public
class
Person {
private
String name;
private
Integer order;
/**
* @return the name
*/
public
String getName() {
return
name;
}
/**
* @param name
* the name to set
*/
public
void
setName(String name) {
this
.name = name;
}
/**
* @return the order
*/
public
Integer getOrder() {
return
order;
}
/**
* @param order
* the order to set
*/
public
void
setOrder(Integer order) {
this
.order = order;
}
}
public
static
void
main(String[] args) {
List<Person> listA =
new
ArrayList<Person>();
Person p1 =
new
Person();
Person p2 =
new
Person();
Person p3 =
new
Person();
p1.setName(
"name1"
);
p1.setOrder(
1
);
p2.setName(
"name2"
);
p2.setOrder(
2
);
p3.setName(
"name3"
);
p3.setOrder(
3
);
listA.add(p2);
listA.add(p1);
listA.add(p3);
Collections.sort(listA,
new
Comparator<Person>() {
public
int
compare(Person arg0, Person arg1) {
return
arg0.getOrder().compareTo(arg1.getOrder());
}
});
for
(Person p : listA) {
System.out.println(p.getName());
}
}
相關文章
- 由Java中的Set,List,Map引出的排序技巧Java排序
- Java基礎系列—List排序Java排序
- Java 8 比較器:如何對 List 排序Java排序
- java中hashMap的排序JavaHashMap排序
- 對list集合中的物件進行排序(轉載)物件排序
- Java集合中的排序方法Java排序
- python list 排序Python排序
- java中list的常見問題。Java
- Java 中,Arrays 轉 List 的那些坑Java
- Java中的Set, List, Map漫談Java
- java list中的物件去重原理Java物件
- JAVA裡List集合中的物件根據物件的某個屬性值降序或者升序排序Java物件排序
- java中的List介面(ArrayList、Vector、LinkedList)Java
- java中Map,List與Set的區別Java
- Java中list顯示的三種方法Java
- java 中 set map table list ~~的總結Java
- Java 中的泛型 集合(List,Set) MapJava泛型
- C# list物件排序C#物件排序
- Java中List集合效能比較Java
- Java中List陣列互轉Java陣列
- Java學習--java中的集合框架、Collection介面、list介面Java框架
- DevExpress中獲取GridControl排序之後的ListdevExpress排序
- Java面試-List中的sort詳細解讀Java面試
- java中list、set和map 的區別(轉)Java
- python如何將list排序Python排序
- python list 排序問題Python排序
- List根據時間排序排序
- Java中List與陣列互轉Java陣列
- Java 中陣列轉換為 ListJava陣列
- 在 Java 中初始化 List 的五種方法Java
- Java 中初始化 List 集合的 6 種方式!Java
- 請問:Java中List的大小有沒有限制Java
- Java中的合併排序演算法Java排序演算法
- python用List的內建函式list.sort進行排序Python函式排序
- 從零單排Java 8(3) —— List結合Lambdas對排序的高階用法Java排序
- List資料多重規則排序排序
- Java從List中獲取隨機元素Java隨機
- list集合按元素的某一屬性排序排序