collection 中对类排序
首先 写出 一个person类 让他继承Comparable 构造函数和get/set不用说
我们要覆盖父类中的comparto方法 代码如下 省略get/set
package a;
public class Person implements Comparable<Person> {
private int age;
private String name;
public Person(int age, String name) {
this.age = age;
this.name = name;
}
public int compareTo(Person o) {
return this.getAge()-o.getAge();
}
public void show(){
System.out.println("姓名 " +name +" 年龄 "+age);
}
}
测试代码如下 不用解释...
package a;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
public class TestComparable {
public static void main(String args[]) {
List<Person> listCat1 = new ArrayList<Person>();
listCat1.add(new Person(35, "hlf"));
listCat1.add(new Person(36, "ddd"));
listCat1.add(new Person(38, "xxx"));
System.out.println("调用Collections.sort(List<T> list)listCat2升序排序:");
Collections.sort(listCat1);
for (int i = 0; i < listCat1.size(); i++) {
listCat1.get(i).show();
}
System.out.println("降序排列元素:");
Collections.sort(listCat1, Collections.reverseOrder());
for (int i = 0; i < listCat1.size(); i++) {
listCat1.get(i).show();
}
System.out.println("Collections.reverse 从列表中最后一个元素开始输出:");
Collections.reverse(listCat1);
for (int i = 0; i < listCat1.size(); i++) {
listCat1.get(i).show();
}
}
}
测试结果
调用Collections.sort(List<T> list)listCat2升序排序:
姓名 hlf 年龄 35
姓名 ddd 年龄 36
姓名 xxx 年龄 38
降序排列元素:
姓名 xxx 年龄 38
姓名 ddd 年龄 36
姓名 hlf 年龄 35
Collections.reverse 从列表中最后一个元素开始输出:
姓名 hlf 年龄 35
姓名 ddd 年龄 36
姓名 xxx 年龄 38
这个咱们是以 int类型来排序 如果是想按照string来排序 很简单 person类中的 compareto改成如下就ok
public int compareTo(Person o) {
return this.getName().compareTo(o.getName());
}
参考资料
java 集合排序 http://www.cnblogs.com/standcloud/articles/2601914.html
collection 中对类排序的更多相关文章
- Comparable接口——容器中自定义类排序
1.容器TreeMap,默认根据Key对象中某个属性的从小到大排列元素. (1)如下代码示例,Key是整型数字,所以按照其从小到大的顺序排列 public class TestTreeMap { pu ...
- 《Entity Framework 6 Recipes》中文翻译系列 (16) -----第三章 查询之左连接和在TPH中通过派生类排序
翻译的初衷以及为什么选择<Entity Framework 6 Recipes>来学习,请看本系列开篇 3-10应用左连接 问题 你想使用左外连接来合并两个实体的属性. 解决方案 假设你有 ...
- 在含有null值的复杂类的集合(Collection)中取最大值
在日常编程中,经常遇到要在一组复杂类的集合(Collection)中做比较.取最大值或最小值. 举个最简单的例子,我们要在一个如下结构的集合中选取包含最大值的元素: public class Clas ...
- SortedSet的实现类是TreeSet:它的作用是字为添加到TreeSet中的元素排序。
SortedSet可自动为元素排序. SortedSet的实现类是TreeSet:它的作用是字为添加到TreeSet中的元素排序. 练习:自定义类用TreeSet排序. 与HashSet不同, ...
- java工具类之按对象中某属性排序
import java.lang.reflect.Field; import java.lang.reflect.InvocationTargetException; import java.lang ...
- 集合类中的Collection接口实现类
今天学习一下集合包里面的内容,常见的有Collection和Map两个接口的实现类Collection中常见的又分为两种: 1.List ,支持放入重复的对象,实现类有arraylist,linked ...
- Python中自定义类未定义__lt__方法使用sort/sorted排序会怎么处理?
在<第8.23节 Python中使用sort/sorted排序与"富比较"方法的关系分析>中介绍了排序方法sort和函数sorted在没有提供key参数的情况下默认调用 ...
- 有关collection中的一些数据结构
Collection接口 Collection是最基本的集合接口,一个Collection代表一组Object,即Collection的元素(Elements).一些Collection允许相同的元素 ...
- 【Java并发编程】5、java中ConcurrentLinkedQueue类
一.类结构: java.lang.Object java.util.AbstractCollection<E> java.util.AbstractQueue<E> java. ...
随机推荐
- hibernate--HelloWorld
本次学习版本:hibernate-release-5.2.6.Final,要求java 1.8 和JDBC 4.2. hibernate是一个开放源代码的对象关系映射框架.对JDBC进行了非常轻量的封 ...
- [UOJ UNR#1]奇怪的线段树
来自FallDream的博客,未经允许,请勿转载, 谢谢. 原题可以到UOJ看,传送门 如果存在一个点是白的,却有儿子是黑的,显然无解. 不然的话,只要所有黑色的“黑叶子”节点,即没有黑色的儿子的节点 ...
- UVA 11584 划分回文字串
将其划分为尽可能少的回文串 dp[i] = min(dp[i],dp[j] + 1) 来表示j+1~i是回文串 #include <iostream> #include <cs ...
- hdu 4747 线段树
Mex Time Limit: 15000/5000 MS (Java/Others) Memory Limit: 65535/65535 K (Java/Others)Total Submis ...
- 智能优化算法对TSP问题的求解研究
要求: TSP 算法(Traveling Salesman Problem)是指给定 n 个城市和各个城市之间的距离,要 求确定一条经过各个城市当且仅当一次的最短路径,它是一种典型的优化组合问题,其最 ...
- 求n的阶乘
import java.util.Scanner; public class J { public static void main(String args[]) { //注释:int n=6 ...
- Tensorflow从入门到精通之——Tensorflow基本操作
前边的章节介绍了什么是Tensorflow,本节将带大家真正走进Tensorflow的世界,学习Tensorflow一些基本的操作及使用方法.同时也欢迎大家关注我们的网站和系列教程:http://ww ...
- curl支持HTTP和https
设计流程 基于curl工具实现https/http,设计初步流程为:linux平台验证→→交叉移植arm板. linux系统下调试http和https 1.1 Linux安装curl 输入命令:sud ...
- c# datatable增加列并赋值
DataView dv = DataObj.GetBmfzr("03").Tables[0].DefaultView; dv.Sort = "bmbh"; Da ...
- js遍历 for-of
for-of遍历 entries() 返回一个遍历器对象,用来遍历[键名, 键值]组成的数组.对于数组,键名就是索引值:对于 Set,键名与键值相同.Map 结构的 Iterator 接口,默认就是调 ...