`

java-> list 根据内部元素 重新排序

    博客分类:
  • java
 
阅读更多

 

List<CiFormat> returns = new ArrayList<CiFormat>();

CiFormat cf_1 = new CiFormat(66,"可恶");
returns.add(cf_1);
CiFormat cf_2 = new CiFormat(99,"饿恶");
returns.add(cf_2);
CiFormat cf_3 = new CiFormat(123,"看恶");
returns.add(cf_3);
CiFormat cf_4 = new CiFormat(11,"看看人");
returns.add(cf_4);

Collections.sort(returns, new SortByFrq());
for (int i = 0;i< returns.size();i++) {
	Log.d(tag, returns.get(i).getFrq()+"__"+returns.get(i).getCi());
}

结果:

123__看恶

99__饿恶

66__可恶

11_看看人

 

其中用的的内和方法

ZiCiFormat.java

class CiFormat{// (frq,ci_content)
    private int frq;
    public int getFrq() {
        return frq;
    }
    public void setFrq(int frq) {
        this.frq = frq;
    }

    private String ci;
    public String getCi() {
        return ci;
    }
    public void setCi(String ci) {
        this.ci = ci;
    }

    public CiFormat(int frq,String ci){
        this.frq = frq;
        this.ci = ci;
    }
}

class SortByFrq implements Comparator {
    public int compare(Object o1, Object o2) {
        CiFormat s1 = (CiFormat) o1;
        CiFormat s2 = (CiFormat) o2;
        if (s1.getFrq() < s2.getFrq())
            return 1;
        else if (s1.getFrq() == s2.getFrq()) {
            return 0;
        }
        return -1;
    }
}

 

 

 

分享到:
评论

相关推荐

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

    同时,随着 Java 8 及更高版本的引入,流API也提供了新的排序方式,开发者可以根据项目需求选择最适合的方法。在 `MySortList.java` 文件中,可能包含了关于 `Collections.sort()` 方法的具体使用示例,而 `Java.jpg...

    java List 排序 Collections.sort

    在Java编程中,`List`接口是集合框架的重要组成部分,提供了有序的元素存储。当我们需要对List中的元素进行排序时,`Collections.sort()`方法就派上了用场。这个方法能够根据元素的自然顺序或者自定义的比较器进行...

    Java-Java集合体系-List-Set

    TreeSet内部使用红黑树数据结构,保证元素有序。添加元素(add)时会自动排序,同时提供了lower/upper/greatest/lesser等方法来处理有序集合的边界元素。 五、Map接口 Map接口与List和Set不同,它用于存储键值对。...

    Java Map 按值排序

    TreeMap是Java中实现Map接口的一个类,它内部使用红黑树数据结构,可以按照键或值自然排序。如果我们要根据值排序,可以在创建TreeMap时提供一个自定义的比较器,比较器的compare方法根据值进行比较。例如: ```...

    _Java-集合容器-2.List及其实现类.ppt

    List接口是Java集合框架中的核心接口之一,它继承自Collection接口,并具有特定的特性:元素可以重复,保持元素的顺序,并允许对元素的位置进行精确控制。List接口有多个实现类,包括ArrayList、LinkedList、Vector...

    java 中List按照date排序的实现

    java 中List按照date排序的实现 Java 中List按照date排序的实现是Java开发中一个常见的需求,特别是在处理日期类型的数据时SORT。今天,我们将介绍如何使用Java中的Collections类和Comparator接口对List按照date...

    java 中如何从LIST 对象取值

    在Java编程语言中,列表(List)是一种常用的数据结构,用于存储有序的元素集合。本文将深入探讨如何从List对象中获取数据,包括使用不同类型的List实现以及从List中提取特定值的方法。我们将通过示例代码来理解这些...

    Java 中文排序 使用pinyin4j组件

    在Java编程语言中,对中文字符串进行排序是一个相对复杂的问题,因为中文字符的排序不能简单地按照Unicode编码顺序来处理。通常,我们需要考虑汉字的拼音或者笔画等属性来进行排序。这里我们将详细介绍如何使用`...

    Java-Generics-and-Collections

    根据提供的文件信息,我们可以深入探讨《Java泛型与集合》这本书中的关键知识点。该书由Maurice Naftalin和Philip Wadler合著,并于2007年由O'Reilly Media出版。以下是对该书内容的一个综合概述,旨在帮助读者理解...

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

    ### Java集合排序及java集合类详解 #### 集合框架概述 集合是Java编程语言中非常核心且广泛使用的部分,对于深入理解和高效使用Java语言至关重要。本文将围绕Java集合框架进行详细介绍,包括Collection、List、Set...

    Java-Java集合教程

    - `TreeSet`:基于红黑树实现,保持元素排序,支持快速的排序和查找。 - `HashMap`:存储键值对的哈希表,快速查找、添加和删除元素。 - `TreeMap`:基于红黑树实现的键值对存储,保持键的排序。 3. **泛型**:...

    oop-java-create-streams-OliverGrob:oop-java-create-streams-OliverGrob由GitHub Classroom创建

    - **Lambda表达式**:流操作常与Lambda表达式结合使用,简化代码,如`list.stream().filter(x -&gt; x &gt; 10).forEach(System.out::println);` - **方法引用来代替匿名内部类**:`System.out::println`是方法引用,...

    java-exercise-06-generics-DLiner67:GitHub Classroom创建的java-exercise-06-generics-DLiner67

    输出示例可能是: | a | -&gt;| b | -&gt;| g | -&gt;| x | -&gt;| z |目的是要有一个可以使用所有可比较元素的列表。测验深入测试您的实施。 尝试极端情况。 测试所有方法= 100%代码覆盖率。 您的实现必须注意错误处理。 此外...

    java 去除重复元素

    如果需要保持元素排序,可以选择TreeSet。 ```java Integer[] array = {5, 3, 1, 2, 4, 3, 2}; TreeSet&lt;Integer&gt; treeSet = new TreeSet&lt;&gt;(Arrays.asList(array)); array = treeSet.toArray(new Integer[0]); ``` ...

    Core Java - Volume Ⅱ - Advanced Features - Tenth Edition

    int sum = list.stream().filter(n -&gt; n % 2 == 0).mapToInt(Integer::intValue).sum(); ``` 这里的关键是理解如何将集合转换为Stream对象,并应用各种操作来完成所需的任务。 ##### 1.2 Stream创建 创建Stream...

    java 1.8新特性 lambda表达式.docx

    - `sorted(Comparator comparator)`:对流中的元素排序。 - **终止操作**: - `forEach(Consumer action)`:遍历流中的每个元素。 - `collect(Collector collector)`:收集流中的元素,转换为其他形式。 ##### ...

    java 集合和内部类资料

    PriorityQueue是一个优先队列,根据元素的自然顺序或自定义比较器进行排序。 Map接口存储键值对,如HashMap、LinkedHashMap和TreeMap。HashMap快速查找,但不保证元素顺序;LinkedHashMap保持插入顺序或访问顺序;...

    JAVA-集合例子

    TreeSet内部使用红黑树结构,元素排序有序,但插入和查找性能稍逊于HashSet。 Map接口用于存储键值对,HashMap是最常用的实现,它提供了快速的查找和插入操作,但不保证元素顺序;TreeMap则基于红黑树,保持键的...

    Java8新特性教程(含代码).docx

    list.sort((x, y) -&gt; x.compareTo(y)); ``` 这里使用 Lambda 表达式作为 `sort` 方法的参数,实现了列表的排序。 **实例2:两个泛型:** ```java List&lt;String&gt; list = Arrays.asList("a", "b", "c"); Map, Integer&gt;...

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

    在Java编程中,对List集合中的对象进行多属性排序是一项常见的任务。这通常涉及到自定义比较逻辑,以满足复杂的数据排序需求。在这个“java版本List中对象多属性排序.rar”压缩包中,我们可能找到了一个关于如何在...

Global site tag (gtag.js) - Google Analytics