使用Collections.sort()方法扩展list集合中的数据并对其进行排序
2013-03-25 20:31
1036 查看
在前后数据交互中,以下方法还是比较实用的。自己整理的代码如下
(如果你有更好的方法希望能贴出来一起分享下噢):
(如果你有更好的方法希望能贴出来一起分享下噢):
package com.map; import java.util.ArrayList; import java.util.Collections; import java.util.Comparator; import java.util.HashMap; import java.util.Iterator; import java.util.List; import java.util.Map; import java.util.Set; /* * 按列表中的对象的长度进行比较排序 * Collections扩展方法 */ class Person { private Integer id; private String name; public Person() { } public Person(Integer id, String name) { this.id = id; this.name = name; } public Integer getId() { return id; } public void setId(Integer id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; } } public class TestMap { public static void main(String[] args) { List<Person> list = new ArrayList<Person>(); List<Person> li = new ArrayList<Person>(); for (int i = 1; i < 5; i++) { //初始化四个对象 Person p = new Person(); p.setId(i); if (i == 2) { p.setId(11); } if (i == 3) { p.setId(12); } if (i == 4) { p.setId(19); } p.setName("mao"); list.add(p); } Map<Integer, Object> map = new HashMap<Integer, Object>(); for (int i = 0; i < list.size(); i++) { Integer key = list.get(i).getId(); map.put(key, list.get(i)); } for (int i = 1; i <= 24; i++) { Integer isKey = i; boolean flag = map.containsKey(isKey); if (!flag) { Person pp = new Person(); pp.setId(isKey); map.put(isKey, pp); } } Set<Integer> set = map.keySet(); Iterator<Integer> it = set.iterator(); while (it.hasNext()) { Integer key = it.next(); Person ppp = (Person) map.get(key); li.add(ppp); } Collections.sort(li, new Comparator() { public int compare(Object obj1, Object obj2) { Person p1 = (Person) obj1; Person p2 = (Person) obj2; //升序排列 return p1.getId().compareTo(p2.getId()); //降序排列 //return -p1.getId().compareTo(p2.getId()); } }); for (int i = 0; i < li.size(); i++) { //经过处理最终扩展成24个对象 System.out.println("列表中的数据:" + li.get(i).getId() + " = " + li.get(i).getName()); } } }
相关文章推荐
- Java中使用Collections.sort()方法对数字和字符串泛型的LIst进行排序
- 使用Collections.sort()对List/ArrayList进行排序 推荐
- 用Java集合中的Collections.sort方法对list排序的两种方法
- JAVA对list集合进行排序Collections.sort()
- Collections.sort方法(可以根据集合中类的属性的比较对集合内的类进行排序)
- 对于集合中的自定义对象使用collections.sort 进行排序,需要实现compartor接口
- 用Java集合中的Collections.sort方法对list排序的两种方法
- 使用Collections.sort方法对list排序的两种方法
- Java Collections.sort方法对list集合排序
- 用Java集合中的Collections.sort方法如何对list排序(两种方法)
- (好使)用Java集合中的Collections.sort方法对list排序的两种方法
- java list集合使用Collections中的sort方法进行排序(Comparator)
- 用Java集合中的Collections.sort方法对list排序的两种方法
- 实体类集合(List<Object>)根据实体类的一个或者多个属性对集合进行排序-Collections.sort
- 用Java集合中的Collections.sort方法对list排序的两种方法
- 对集合中的对象进行排序,用collections.sort 到方法
- 使用Collections.sort()实现List正反排序的方法
- Collections.sort方法对list进行排序
- Java Collections.sort方法对list集合排序
- JAVA对list集合进行排序Collections.sort()