`

List的排序 Collection.sort( )

    博客分类:
  • Java
阅读更多
package com.tom.compare;
import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import java.util.List;
public class CompareClient {
 /**
  * @param args
  */
 public static void main(String[] args) {
  // TODO Auto-generated method stub
  List list = new ArrayList();
  list.add(new Content(15000,"1asdfasd5000"));
  list.add(new Content(10000,"10000"));
  list.add(new Content(20000,"20000"));
  list.add(new Content(30000,"30000"));
  list.add(new Content(25000,"25000"));
  list.add(new Content(13000,"13000"));
  list.add(new Content(15000,"15000"));  
  list.add(new Content(89000,"89000"));
  
  ContentComparator comp = new ContentComparator();  
  Collections.sort(list,comp);
  
  Content content;
  for(int i = 0; i < list.size(); i++){
   content = (Content)list.get(i);
   System.out.println(" content.getName() " + content.getName());
  }
 }
}

 

package com.tom.compare;
import java.util.Comparator;
public class ContentComparator implements Comparator {
 public int compare(Object o1, Object o2) {
  // TODO Auto-generated method stub
  Content c1 = (Content) o1;
  Content c2 = (Content) o2;
  if (c1.getKey() > c2.getKey()) {
   return 1;
  } else {
   if (c1.getKey() == c2.getKey()) {
    return 0;
   } else {
    return -1;
   }
  }
 }
}

 

package com.tom.compare;
public class Content {
 private long key;
 private String name;
 public Content(long key, String name) {
  this.key = key;
  this.name = name;
 }
 public long getKey() {
  return key;
 }
 public void setKey(long key) {
  this.key = key;
 }
 public String getName() {
  return name;
 }
 public void setName(String name) {
  this.name = name;
 }
}

 

结果是:
 content.getName() 10000
 content.getName() 13000
 content.getName() 1asdfasd5000
 content.getName() 15000
 content.getName() 20000
 content.getName() 25000
 content.getName() 30000
 content.getName() 89000

 

分享到:
评论

相关推荐

    java 使用Collections类对List的排序操作

    1. **自然排序**:如果 `List` 中的元素是实现了 `Comparable` 接口的对象,那么可以使用 `Collections.sort()` 方法进行自然排序。`Comparable` 接口定义了一个 `compareTo()` 方法,该方法用于比较对象之间的大小...

    java版本List中对象多属性排序.rar

    在Java中,`List`接口是`Collection`框架的一部分,它允许我们存储有序的元素集合。当我们说要对`List`中的对象进行排序时,这意味着我们需要依据对象的属性(如成员变量)来调整它们在列表中的顺序。 Java提供了两...

    java中的排序.ppt

    Java 中的 Arrays 类提供了对这些类型的 sort 方法,可以用来对简单类型的数组进行排序。例如: ```java int[] arr = {2, 3, 1, 10, 7, 4}; System.out.print("before sort: "); for (int i = 0; i &lt; arr.length; i...

    11集合.rarjava 集合类

    java 集合类的排序主要是用Collections.sort方法,Collections和Collection是不一样的,前者是类,后者是接口,在这里,我主要是想说明它的sort方法的几种类型, 提示:实现接口的方法时,只需要比较两个数,大的返回1,...

    关于list的排序

    `Collections.sort()`方法可以对任何实现了`List`接口的对象进行排序,它默认使用元素的自然顺序(即元素所属类必须实现`Comparable`接口)。 首先,让我们了解一下`Collections.sort()`的基本用法。假设我们有一个...

    java collection framework

    - `Collections.sort()`: 对 List 进行排序。 - `Collections.reverse()`: 反转 List 的顺序。 - `Collections.shuffle()`: 打乱 List 的顺序。 - `Collections.max()` 和 `Collections.min()`: 获取 List 中的最大...

    Java.util.Collection类的学习.pdf

    * 排序(Sort):使用sort方法可以根据元素的自然顺序对指定列表按升序进行排序。 * 混排(Shuffling):使用shuffle方法可以打乱在一个List中的任何排列的踪迹。 * 反转(Reverse):使用reverse方法可以根据元素的...

    c# ObservableCollection排序

    相对于System.Linq的OrderBy及OrderByDescending方法,调用后产生IOrderedEnumberable对象,这个对象为排序后的返回值,但原对象未发生变化。试想,有这种需求,ObservableCollection调用排序方法后,此对象也跟着...

    JDK8排序总结

    7. **默认方法**:`Collection`和`List`接口新增了默认方法,如`sort()`,使得无需实现类就可以直接调用排序功能。 在`TestSort.java`这个文件中,你可能会看到以上各种排序技术的实际应用。通过学习和实践这个示例...

    Java集合Collection、List、Set、Map使用详解

    - 对于List,可以通过`Collections.sort(list)`进行排序。 - 对于Set,如TreeSet,元素必须实现Comparable接口,或者在创建时传入Comparator。 - 对于Map,可以对keySet或entrySet进行排序,然后通过key或entry进行...

    collection接口的静态方法

    `Collections.sort(List&lt;T&gt; list)`方法是`Collection`接口中最常用的方法之一,它用于对指定的`List`实例进行升序排序。该方法使用了快速排序算法或插入排序算法,具体取决于列表的大小。需要注意的是,只有当`List`...

    java的list取之方法

    在Java中,`List`接口是`Collection`框架的一个重要组成部分,它继承自`Collection`接口。`List`是一种有序集合,允许包含重复元素。`List`的主要特点是可以通过索引访问元素,同时也支持插入、删除等操作。 ### ...

    Java集合排序及java集合类详解(Collection、List、Map、Set).pdf

    对于排序,List可以通过Collections.sort()方法进行排序,Map的键可以使用TreeMap来自动排序,而Set如需要排序,可以使用SortedSet接口的实现类,如TreeSet。 总之,Java集合框架是Java程序员必须掌握的基础知识,...

    Java_Collection_List-Set-Map.zip_list set map

    - 对于List,可以使用Collections.sort()方法进行排序。自定义类需要实现Comparable接口或提供Comparator。 - 对于Set,如TreeSet,元素会自动排序,自定义类需实现Comparable接口。 - 对于Map,可以使用TreeMap...

    Freemarker中遍历list集合实例

    sort_by 有一个参数,该参数用于指定想要排序的子变量,排序是按照变量对应的值进行排序,如:&lt;#list userList?sort_by(“age”) as user&gt;…&lt;/#list&gt; age 是 User 对象的属性,排序是按 age 的值进行的。 3. ...

    vb 排序

    在VB.NET中,`Array.Sort`或`List&lt;T&gt;.Sort`是内置于.NET Framework的方法,用于对数组或列表进行排序。例如,如果你有一个整数数组,你可以使用`Array.Sort(integers)`来对其进行升序排序。 2. Selection Sort:这...

    浅谈java Collection中的排序问题

    List接口提供了直接排序的方法——`Collections.sort()`. 这个方法可以对任何实现了List接口的对象进行排序。如果列表中的元素是原始类型(如int、char等),我们可以直接使用`Collections.sort()`。但是,如果列表...

    Java集合排序及java集合类详解(Collection、List、Map、Set)讲解.pdf

    对于List,可以使用Collections.sort()方法进行排序,对于Map,通常需要转换成List后再排序。例如,对于TreeMap,其内部已经按照键的自然顺序或比较器排序。 总结,Java集合框架提供了丰富的数据结构和操作,理解并...

    C#源代码-List泛型集合.zip

    `Sort()`对列表进行排序(默认按照自然顺序,可以自定义比较器);`BinarySearch(T item)`进行二分查找等。 3. 属性:`Count`属性返回列表中元素的数量,`Capacity`属性表示列表当前能够容纳的元素数量。如果需要...

    C# 操作MongoDB源码 含连接MongoDB库

    var sort = Builders&lt;BsonDocument&gt;.Sort.Ascending("age"); var result = collection.Find(filter).Sort(sort).Limit(10).Skip(5).ToList(); ``` `Distinct`方法用于获取集合中某个字段的所有不同值,这对于统计...

Global site tag (gtag.js) - Google Analytics