在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 使用Collections类对List的排序操作 java 使用Collections类对List的排序操作
NULL 博文链接:https://xuedong.iteye.com/blog/1147254
主要介绍了JAVA对list集合进行排序Collections.sort(),需要的朋友可以参考下
主要介绍了Java Collections.sort()实现List排序的默认方法和自定义方法,需要的朋友可以参考下
主要介绍了Java使用Collections工具类对List集合进行排序,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
List<String> location=new ArrayList(); 一行代码轻松搞定混合排序问题 Collections.sort(location, new SortUtils(true));
要注意的是List,Set,Queue继承了Collection接口,...这里想用一个简单的例子展示一下他们的使用,内容包括:List、Map、Set、Queue,Collections、Comparable与Comparator,排序、搜索,内部类,泛型、重写equals、hashCode
本文通过两种方法给大家介绍java集合中的Collections.sort方法对list排序,第一种方式是list中的对象实现Comparable接口,第二种方法是根据Collections.sort重载方法实现,对collections.sort方法感兴趣的朋友一起...
主要介绍了JAVA中Collections工具类sort()排序方法,非常具有实用价值,需要的朋友可以参考下。
字符串数组 排序
但是通常排序算法不得不让程序员在写代码的过程中陷入对底层很多指针和位置的理解,java不希望这样,所以排序大多可以由java帮你做掉,例如,你要对一个数组排序,通过:Collections.sort(list)那么这个list被排序了...
下面小编就为大家带来一篇浅谈对象数组或list排序及Collections排序原理。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
实现Comparable接口或Comparator接口,用户可以根据需要对集合中的元素进行排序。为了方便用户使用,Java平台还提供了Collections和Arrays工具类。collection.rar分别对上述内容进行详细讲解演示。
比如对一个数组进行排序,程序员可以写如下排序算法: 代码演示:数组排序 public static void sort(int[] arrs) { boolean isSwap = false; for (int i = 0; i ; i++) { isSwap = false; for (int j = arrs....
56、写一个函数,要求输入一个字符串和一个字符长度,对该字符串进行分隔。 14 59、Java 编程,打印昨天的当前时刻。 15 60、java 和javasciprt 的区别。 15 61、什么时候用assert? 16 62、error和exception有什么...
Collections是针对集合类的一个帮助类,他提供一系列静态方法实现对各种集合的搜索、排序、线程安全化等操作。 10、&和&&的区别。 &是位运算符,表示按位与运算,&&是逻辑运算符,表示逻辑与(and)。 11、HashMap...
Java集合## CIT360课程###集合接口: [收藏界面](1_The Collection Interface.txt) •[示例](collectionExample.js) [列表界面](2_The List Interface.txt) •[示例](interfaceExample.js) [The Set](3_The...
//对list数组进行自然排序 Collections.sort(list); //依次检索输出list的所有对象 // for(int i=0;i<list.size();i++){ // System.out.println(list.get(i)); // } Iterator Iter=list.iterator(); while...
主要介绍了Java 生成随机字符串数组的实例详解的相关资料,主要是利用Collections.sort()方法对泛型为String的List 进行排序,需要的朋友可以参考下
16. 集合排序,内排序,外排序 17. 动态代理和静态代理 18. 封装、继承、多态 19. static加载顺序 20. 代理和反射(3分钟),反射泛型还有用吗 21. final关键字 22. 线程wait和sleep相同点和不同点 23. 为什么...