`
zheng0324jian
  • 浏览: 182162 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

java Collections 对List进行排序

    博客分类:
  • java
 
阅读更多

在java的项目中,list,map是使用相当频繁的工具类,有的时候在迭代map,将map中的对象添加到list中的时候,有可能会改变list中对象的顺序,我一般是循环list重新排序,其实在java中已经有过对list的一些常用方法的封装,就是Collections类,他有一个方法sort就是将list中的对象排序,前提是,list中的对象要实现Comparable<Object> 方法,然后覆盖compareTo方法,方法内容就是排序的规则。下面给出一个例子说明:

第一步:对象实现Comparable接口,并覆盖 compareTo比较方法

写道
public class SD_ShenshouLevelSkillPo implements Comparable<SD_ShenshouLevelSkillPo>

{
private int qunxiu_address_id;
private int shenshou_level;
private int skill_id;
private String shenshou_level_name;

public String getShenshou_level_name() {
return shenshou_level_name;
}
public void setShenshou_level_name(String shenshou_level_name) {
this.shenshou_level_name = shenshou_level_name;
}
public int getQunxiu_address_id() {
return qunxiu_address_id;
}
public void setQunxiu_address_id(int qunxiu_address_id) {
this.qunxiu_address_id = qunxiu_address_id;
}
public int getShenshou_level() {
return shenshou_level;
}
public void setShenshou_level(int shenshou_level) {
this.shenshou_level = shenshou_level;
}
public int getSkill_id() {
return skill_id;
}
public void setSkill_id(int skill_id) {
this.skill_id = skill_id;
}
@Override




public int compareTo



(SD_ShenshouLevelSkillPo o) {
if(getShenshou_level()>o.getShenshou_level()){
return 1;//返回1是往下排

}
if(getShenshou_level()<o.getShenshou_level()){
return -1;//返回-1是往上排
}
return 0;
}
} 






 第二步:用collections 为list中的对象排序

public List<SD_ShenshouLevelSkillPo> getByShenshou(int shenshouId){
	List<SD_ShenshouLevelSkillPo> list = new ArrayList<SD_ShenshouLevelSkillPo>();
	for(Iterator i = shenshouLevelSkillMap.keySet().iterator();i.hasNext();){
		SD_ShenshouLevelSkillPo po  = shenshouLevelSkillMap.get(i.next());
		if(po.getQunxiu_address_id() == shenshouId){
			list.add(po);
		}
	}
		Collections.sort(list);




		return list;
	}





分享到:
评论

相关推荐

    java List 排序 Collections.sort

    总结起来,`Collections.sort()`是Java中对List进行排序的标准工具,它支持自然排序和自定义排序。了解其工作原理和优化技巧,可以帮助我们在编程实践中更高效地处理数据。通过阅读和理解`Collections.sort()`的源码...

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

    总的来说,`Collections` 类提供的排序功能使得在 Java 中对 `List` 进行操作变得更加便捷,无论是自然排序还是定制排序,都可以轻松实现。同时,随着 Java 8 及更高版本的引入,流API也提供了新的排序方式,开发者...

    java中list排序

    在 Java 中,对 List 排序可以使用 Collections.sort(list) 方法,但是这种方法只能对基本类型的 List 进行排序,如果 List 中包含的是对象,那么这种方法就不行了。这时需要使用Comparator接口来实现排序。 ...

    Java对List多个排序、查询条件的处理

    在Java的`java.util`包中,`Collections.sort()`方法提供了对List进行单维度排序的功能。默认情况下,它是基于元素自然顺序进行排序,但如果需要自定义排序规则,可以提供一个`Comparator`实例。例如: ```java ...

    Java Collections.sort()实现List排序的默认方法和自定义方法

    Java Collections.sort()实现List排序的默认方法和自定义方法 Java Collections.sort()是Java语言中用于对List进行排序的方法,通过使用这个方法可以对List进行默认排序,也可以根据需要实现自定义的排序规则。 ...

    Java Collections.pdf

    - `TreeSet`:实现了SortedSet接口,可以对元素进行排序。 ##### 3. Map(映射) - **特点**:键值对的集合,每个键只能对应一个值。 - **实现类**: - `HashMap`:基于哈希表实现,插入和查找速度快。 - `...

    JAVA对list集合进行排序Collections.sort()

    在Java编程语言中,`Collections.sort()` 方法是一个非常重要的工具,用于对List接口实现的集合进行排序。这个方法使得开发者能够方便地按照指定的顺序排列集合中的元素。本篇文章将详细探讨如何使用 `Collections....

    java 集合分组与排序

    它直接在原地对列表进行排序,无需额外的流处理。例如: ```java List&lt;Person&gt; people = ...; Collections.sort(people, Comparator.comparing(Person::getName)); ``` - 流API的`sorted()`:适用于任何可...

    java中Collections.sort排序详解

    Java中的Collections.sort排序是Java.util.Collections类中的一个静态方法,用于对列表进行排序。下面将详细介绍Collections.sort排序的使用和实现机制。 Collections.sort()方法的使用: Collections.sort()方法...

    Apress的《Java Collections》

    Java Collections API是Java平台的核心部分,提供了多种容器类,如List、Set和Map,以及对这些容器进行操作的工具类。通过这个API,开发者可以高效地存储、检索和操作数据,实现数据结构和算法的抽象。 在书中,...

    最快的排序算法 java最快的排序-在Java中对列表进行排序的最快方法,排序算法数据结构

    在 Java 中,对列表进行排序的最快方法是使用Collections.sort()方法,该方法使用的排序算法是 Timsort,它是归并排序和插入排序的结合体,具有高效的性能和稳定性。 在上述代码中,使用了 Comparator 接口来实现...

    java中进行集合排序

    在Java编程中,对集合(如`List`)中的对象进行排序是一项常见的操作。本文将详细介绍如何根据对象的特定属性来实现升序或降序排序。 #### 标题:Java中进行集合排序 该标题表明文章的主题是关于Java语言中如何对...

    Java使用Collections工具类对List集合进行排序

    Java使用Collections工具类对List集合进行排序 Java使用Collections工具类对List集合进行排序是Java编程中一个常见的操作。Collections工具类提供了一个sort方法,可以对List集合进行排序。下面我们将详细介绍如何...

    Java源码对用户名进行比较排序.rar

    在Java编程语言中,对用户名进行比较排序是一个常见的任务,特别是在开发用户管理系统或者任何涉及到用户数据展示的应用中。这个任务通常涉及到字符串的比较和排序,Java提供了强大的工具来实现这一功能。下面我们将...

    APress - Java Collections

    - 使用`Collections`工具类中的静态方法来进行集合操作,如排序、查找最大/最小元素、反转列表等,这些方法通常比手动实现更高效且更简洁。 - 当处理大型数据集时,避免在循环中直接调用集合方法,而是尽可能将集合...

    java 中文姓氏 排序

    本文将详细介绍如何在 Java 中对包含中文姓氏的对象列表或字符串列表进行排序。 #### 二、基本概念 1. **Collator 类**:这是 Java 中用于文本排序和检索的标准类。`Collator` 类提供了与语言环境相关的字符串排序...

    关于 Java Collections API 您不知道的 5 件事

    ### 关于 Java Collections API 您...无论是通过增强的 for 循环简化遍历过程,还是利用 Stream API 进行复杂的数据操作,亦或是通过自定义集合扩展 API 的功能,Java Collections API 都为开发者提供了广泛的可能性。

    java List排序demo

    当我们需要对`List`中的元素进行排序时,可以利用Java提供的内置排序机制。本篇将详细介绍如何根据指定字段对`List`中的对象进行排序,以`Student`类为例,假设每个`Student`都有一个`grad`属性表示成绩。 首先,...

Global site tag (gtag.js) - Google Analytics