`
wkf41068
  • 浏览: 458292 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

java 对ArrayList<Object> 按照属性排序

 
阅读更多
public class ComparatorUtil implements Comparator<TermDto>
{

    public int compare(TermDto o1, TermDto o2) { 
        if (o1.getId().compareTo(o2.getId()) > 0)
        {
            return 1;
        }
        else if (o1.getId().compareTo(o2.getId()) < 0)
        {
            return -1;
        }
        else
        {
            return 0;
        }
    }
    
}


        vocabularyTermList = metaManagWs.getTopTermsByVocabularyId(CertificationConstant.E);
        Collections.sort(vocabularyTermList, new ComparatorUtil());
comparable接口只有一个方法:int compareTo(T o)(位于java.lang包下),主要作用是比较两个对象的大小。而Comparator<T>接口位于java.util包下,他有两个方法: int compare(T o1, T o2) 和boolean equals(Object obj) ,它的作用主要是用在集合的排序中(指定排序规则),强行对某个对象 collection 进行整体排序 的比较函数,也可用在Arrays的sort(Comparator c)方法中。 


分享到:
评论

相关推荐

    AIC的Java课程1-6章

    第5 版 清华大学出版社&lt;br&gt; “SCJP学习指南” 人民邮电出版社&lt;br&gt; “Java 编程思想” 第3版 机械工业出版社&lt;br&gt; 教学内容和要求&lt;br&gt;知识点 重要程度 使用频度 难度&lt;br&gt;Java 入门 高 中 易&lt;br&gt;变量和运算符 高 ...

    Java 代码实现案例

    List&lt;Object[]&gt; matchingRows = new ArrayList&lt;&gt;(); for (List&lt;Object&gt; row : rows) { if (row.get(columns.indexOf(columnName)).equals(value)) { matchingRows.add(row.toArray(new Object[0])); } } ...

    基于ArrayList的对象多属性值排序

    本主题将深入探讨如何对ArrayList中的对象按照多个属性进行排序。 首先,我们来看`Student.java`类,它通常会包含一个或多个属性,比如学生的姓名(name)、学号(id)或其他信息。例如: ```java public class ...

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

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

    java对象排序

    在Java中,我们可以对两种类型的元素进行排序:原始类型(如int、char)和对象。对于对象,排序主要涉及到`Comparable`接口和`Comparator`接口。 - **Comparable接口**:如果一个类的实例需要被排序,那么该类应该...

    Java中List集合对象去重及按属性去重的8种方法

    List&lt;String&gt; newList = new ArrayList&lt;&gt;(new HashSet&lt;&gt;(list)); System.out.println("去重后的集合:" + newList); } ``` #### 2. 使用Stream API的distinct() Stream API提供了一个方便的`distinct()`方法,...

    Java SE编程入门教程 java泛型(共11页).pptx

    - `java.util.Collections`:提供对集合框架的静态方法,如排序和搜索操作。 - `java.util.GC`(垃圾收集):Java内存管理的重要部分,自动回收不再使用的对象。 - `java.util.Properties`:用于处理属性列表,常...

    如何实现java8 list按照元素的某个字段去重

    Collectors.toCollection(() -&gt; new TreeSet&lt;&gt;(Comparator.comparing(t -&gt; t.getName()))), ArrayList::new )); ``` **方法二:使用自定义的distinctByKey方法去重** Java 8的Stream API中的`distinct()`方法...

    排序排序 array to object?? attachment

    List&lt;Person&gt; personList = new ArrayList&lt;&gt;(); for (String name : sortedNames) { Person person = new Person(); person.setName(name); personList.add(person); } ``` 以上内容只是对给定标题和描述的推测...

    java的arraylist排序示例(arraylist用法)

    这些对象被添加到一个`ArrayList&lt;Student&gt;`类型的`studentList`中。`ArrayList`允许我们在运行时向列表中添加或删除元素,而不必预先知道其大小。 接着,我们使用`Collections.sort()`方法对ArrayList进行排序。`...

    根据某个属性对List中的所有对象分组,该属性值相同的对象分到一个组

    List&lt;List&lt;Object&gt;&gt; list2 = new ArrayList&lt;&gt;(); for (String key : map.keySet()) { List&lt;Object&gt; list3 = new ArrayList&lt;&gt;(); list3.add(0, key); list3.add(1, map.get(key)); list2.add(list3); } ``` 此外...

    韩顺平 java基础加强笔记整理

    - 泛型列表:`List&lt;String&gt; list = new ArrayList&lt;&gt;();` - 泛型迭代器:`for (String s : list) { ... }` - **自定义泛型** - 函数声明泛型:`&lt;T&gt; T max(T t1, T t2) { ... }` - 类声明泛型:`public class ...

    细细品味C#(泛型专题)

    这类数据结构通常需要实现多个接口,包括但不限于`IDictionary&lt;TKey, TValue&gt;`、`IEnumerable&lt;T&gt;`等,并可能涉及到泛型约束、泛型类型参数的复杂使用,以及自定义泛型方法和属性的设计。这种高级泛型编程不仅考验...

    JAVA中Collections工具类sort()排序方法

    List&lt;MyObject&gt; myList = new ArrayList&lt;&gt;(); myList.add(new MyObject("value1")); myList.add(new MyObject("value2")); myList.add(new MyObject("value3")); // 使用Comparable接口进行排序 class MyObject ...

    常见的java面试题带答案

    List&lt;String&gt; list = new ArrayList&lt;&gt;(); list.add("Element1"); list.add("Element2"); ``` 8. **IO操作**:Java 的 IO 操作主要涉及 InputStream、OutputStream、Reader、Writer 等类。下面是一个读取文件的示例...

    Java构建树形菜单的实例代码(支持多级菜单)

    Map&lt;String, Object&gt; data = new HashMap&lt;&gt;(); try { // 查询所有菜单 List&lt;Menu&gt; allMenu = menuDao.findTree(); // 根节点 List&lt;Menu&gt; rootMenu = new ArrayList&lt;&gt;(); for (Menu nav : allMenu) { if ...

    Java中的万能查询方法(源码)

    List&lt;T&gt; result = new ArrayList&lt;&gt;(); try { conn = dataSource.getConnection(); pstmt = conn.prepareStatement(sql); // 设置参数 Field[] fields = entityClass.getDeclaredFields(); for (int i = 0...

    将集合和json修改为链式编程

    private List&lt;T&gt; list = new ArrayList&lt;&gt;(); public ListBuilder add(T item) { list.add(item); return this; } public ListBuilder sort(Comparator&lt;T&gt; comparator) { Collections.sort(list, comparator...

    SAX解析XML文件以及排序

    private ArrayList&lt;Integer&gt; ids = new ArrayList&lt;&gt;(); @Override public void startElement(String uri, String localName, String qName, Attributes attributes) throws SAXException { if ("item".equals...

    学生管理系统(使用ArrayList)

    6. 学生排序:使用Collections工具类的`sort()`方法,可以对ArrayList进行排序,如按照学号升序排列。 在实践中,为了提高代码的可读性和可维护性,我们还会遵循面向对象原则,将相关的操作封装到一个名为`...

Global site tag (gtag.js) - Google Analytics