在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;
}
分享到:
相关推荐
总结起来,`Collections.sort()`是Java中对List进行排序的标准工具,它支持自然排序和自定义排序。了解其工作原理和优化技巧,可以帮助我们在编程实践中更高效地处理数据。通过阅读和理解`Collections.sort()`的源码...
总的来说,`Collections` 类提供的排序功能使得在 Java 中对 `List` 进行操作变得更加便捷,无论是自然排序还是定制排序,都可以轻松实现。同时,随着 Java 8 及更高版本的引入,流API也提供了新的排序方式,开发者...
在 Java 中,对 List 排序可以使用 Collections.sort(list) 方法,但是这种方法只能对基本类型的 List 进行排序,如果 List 中包含的是对象,那么这种方法就不行了。这时需要使用Comparator接口来实现排序。 ...
在Java的`java.util`包中,`Collections.sort()`方法提供了对List进行单维度排序的功能。默认情况下,它是基于元素自然顺序进行排序,但如果需要自定义排序规则,可以提供一个`Comparator`实例。例如: ```java ...
Java Collections.sort()实现List排序的默认方法和自定义方法 Java Collections.sort()是Java语言中用于对List进行排序的方法,通过使用这个方法可以对List进行默认排序,也可以根据需要实现自定义的排序规则。 ...
- `TreeSet`:实现了SortedSet接口,可以对元素进行排序。 ##### 3. Map(映射) - **特点**:键值对的集合,每个键只能对应一个值。 - **实现类**: - `HashMap`:基于哈希表实现,插入和查找速度快。 - `...
在Java编程语言中,`Collections.sort()` 方法是一个非常重要的工具,用于对List接口实现的集合进行排序。这个方法使得开发者能够方便地按照指定的顺序排列集合中的元素。本篇文章将详细探讨如何使用 `Collections....
它直接在原地对列表进行排序,无需额外的流处理。例如: ```java List<Person> people = ...; Collections.sort(people, Comparator.comparing(Person::getName)); ``` - 流API的`sorted()`:适用于任何可...
Java中的Collections.sort排序是Java.util.Collections类中的一个静态方法,用于对列表进行排序。下面将详细介绍Collections.sort排序的使用和实现机制。 Collections.sort()方法的使用: Collections.sort()方法...
Java Collections API是Java平台的核心部分,提供了多种容器类,如List、Set和Map,以及对这些容器进行操作的工具类。通过这个API,开发者可以高效地存储、检索和操作数据,实现数据结构和算法的抽象。 在书中,...
在 Java 中,对列表进行排序的最快方法是使用Collections.sort()方法,该方法使用的排序算法是 Timsort,它是归并排序和插入排序的结合体,具有高效的性能和稳定性。 在上述代码中,使用了 Comparator 接口来实现...
在Java编程中,对集合(如`List`)中的对象进行排序是一项常见的操作。本文将详细介绍如何根据对象的特定属性来实现升序或降序排序。 #### 标题:Java中进行集合排序 该标题表明文章的主题是关于Java语言中如何对...
Java使用Collections工具类对List集合进行排序 Java使用Collections工具类对List集合进行排序是Java编程中一个常见的操作。Collections工具类提供了一个sort方法,可以对List集合进行排序。下面我们将详细介绍如何...
在Java编程语言中,对用户名进行比较排序是一个常见的任务,特别是在开发用户管理系统或者任何涉及到用户数据展示的应用中。这个任务通常涉及到字符串的比较和排序,Java提供了强大的工具来实现这一功能。下面我们将...
- 使用`Collections`工具类中的静态方法来进行集合操作,如排序、查找最大/最小元素、反转列表等,这些方法通常比手动实现更高效且更简洁。 - 当处理大型数据集时,避免在循环中直接调用集合方法,而是尽可能将集合...
本文将详细介绍如何在 Java 中对包含中文姓氏的对象列表或字符串列表进行排序。 #### 二、基本概念 1. **Collator 类**:这是 Java 中用于文本排序和检索的标准类。`Collator` 类提供了与语言环境相关的字符串排序...
### 关于 Java Collections API 您...无论是通过增强的 for 循环简化遍历过程,还是利用 Stream API 进行复杂的数据操作,亦或是通过自定义集合扩展 API 的功能,Java Collections API 都为开发者提供了广泛的可能性。
当我们需要对`List`中的元素进行排序时,可以利用Java提供的内置排序机制。本篇将详细介绍如何根据指定字段对`List`中的对象进行排序,以`Student`类为例,假设每个`Student`都有一个`grad`属性表示成绩。 首先,...