ht-8 对arrayList中的自定义对象排序( Collections.sort(ListT list, Comparator? super T c))...
1 package com.iotek.set; 2 3 import java.util.ArrayList; 4 import java.util.Collections; 5 import java.util.Comparator; 6 import java.util.List; 7 /** 8 * 9 * 对ArrayList容器中的内容进行排序: ArrayList中存储多个Person对象(具有name,age,id属性), 10 * 要求按照年龄从小到大排序,年龄相等的话再按照名字的自然顺序来排序输出 11 * 思路: 12 * 使用ArrayList来存储Person对象,使用Collections类所提供的静态方法sort来按照要求对 13 * ArrayList进行排序,然后输出排序好的信息。 14 * @author Administrator 15 * 16 */ 17 public class CollectionsDemo2 { 18 /* 1.创建一个ArrayList容器 19 * 2.创建一个Person类,具有name,age,id属性 20 * 3.对容器中的数据排序,用Collections类的方法sort对List接口的实现类排序 21 * 4.输出排序好的内容 */ 22 23 public static void main(String[] args) { 24 List<Personc> data = new ArrayList<Personc>(); 25 data.add(new Personc("jack",20,10)); 26 data.add(new Personc("rose",10,7)); 27 data.add(new Personc("mary",30,6)); 28 data.add(new Personc("zhang",50,18)); 29 data.add(new Personc("jay",20,11)); 30 Collections.sort(data, new Comparator<Personc>() { 31 @Override 32 public int compare(Personc o1, Personc o2) { 33 // 首先按年龄来排序 34 if(o1.getAge() - o2.getAge() > 0) { 35 return 1; 36 } else if(o1.getAge() - o2.getAge() < 0) { 37 return -1; 38 } else { //年龄相等时,再按照名字来进行排序, 39 /*具体的字符串是String类的实例化对象,可以调用String类的 40 * compareTo(String anotherString)方法来对字符串按照字典顺序进行排序 41 */ return o1.getName().compareTo(o2.getName()); 42 } 43 } 44 }); 45 46 for(Personc p : data) { 47 System.out.println(p.toString()); 48 } 49 } 50 51 } 52 /* sort(List<T> list, Comparator<? super T> c) 根据指定比较器产生的顺序对指定列表进行排序 53 * Comparator<? super T> c c表示一个比较器,比较器可以用匿名内部类来实现 54 * 匿名内部类产生的是个接口的实现类对象,因此要实现这个接口中的compare()方法 */ 55 /*String.compareTo(String anotherString) 按字典顺序比较两个字符串,返回一个int类型的值*/ 56 57 class Personc { 58 private String name; 59 private int age; 60 private int id; 61 public Personc(String name, int age, int id) { 62 super(); 63 this.name = name; 64 this.age = age; 65 this.id = id; 66 } 67 public String getName() { 68 return name; 69 } 70 public void setName(String name) { 71 this.name = name; 72 } 73 public int getAge() { 74 return age; 75 } 76 public void setAge(int age) { 77 this.age = age; 78 } 79 public int getId() { 80 return id; 81 } 82 public void setId(int id) { 83 this.id = id; 84 } 85 @Override 86 //重写toString方法,定义打印格式 87 public String toString() { 88 return "Person [name=" + name + ", age=" + age + ", id=" + id + "]"; 89 } 90 91 }
转载于:https://www.cnblogs.com/enjoyjava/p/9393398.html
ht-8 对arrayList中的自定义对象排序( Collections.sort(ListT list, Comparator? super T c))...相关推荐
- js中的数组对象排序(方法sort()详细介绍)
定义和用法 sort() 方法用于对数组的元素进行排序. 语法 arrayObject.sort(sortby) 参数sortby:可选.规定排序顺序.必须是函数. 返回值 对数组的引用.请注意 ...
- JAVA-List排序-Collections.sort()-对象数组(集合)根据某一属性排序
JAVA-List排序-Collections.sort() 当我们想对一个对象数组(集合)根据某一属性进行排序时,我们可以使用list中的Collection.sort(),这是一种较快捷的方式. ...
- 集合中存储自定义对象源代码
集合中存储自定义对象: package attention;import java.util.ArrayList; import java.util.Collection; import java.u ...
- java 自定义对象 排序,使用自定义排序顺序对对象的ArrayList进行排序
问题 我希望为我的地址簿应用程序实现一个排序功能. 我想排序anArrayList contactArray.Contact是一个包含四个字段的类:名称,家庭电话号码,手机号码和地址.我想排序name ...
- java基础—TreeSet集合中储存自定义对象(java集合二)
TreeSet集合中储存学生对象,按照其年龄进行排序 TreeSet对元素进行排序的方式一: 让元素自身具备比较功能,元素就需要实现Comparable接口,覆盖compareTo方法. TreeSe ...
- 本实例演示往TreeSet集合中存储自定义对象
1 package JiHe.Set; 2 3 import java.util.Iterator; 4 import java.util.TreeSet; 5 6 /* 7 * 本实例演示往Tree ...
- 绒毛动物探测器:通过TensorFlow.js中的迁移学习识别浏览器中的自定义对象
目录 起点 MobileNet v1体系结构上的迁移学习 修改模型 训练新模式 运行物体识别 终点线 下一步是什么?我们可以检测到脸部吗? 下载TensorFlowJS-Examples-master ...
- java中如何对对象排序?
大家好,我是雄雄. 前言: 我们知道,在平时做项目的过程中,我们总会用到各种各样的排序,或是升序,或是降序.在java中,要实现排序有好多中方式,比如我们耳熟能详的冒泡排序.选择排序等,但是我们一般都 ...
- store 存取数据数组对象_ios – 如何在数组中保存自定义对象并将其存储在NSUserDefaults – iPhone中...
要在用户默认值上存储和检索具有自定义对象的数组,您可以使用以下方法: -(void)writeArrayWithCustomObjToUserDefaults:(NSString *)keyName ...
最新文章
- UVA11584 划分成回文串 Partitioning by Palindromes(线性DP划分+DP判断回文串)
- 《设计模式之禅》学习笔记(一)
- golang中变量使用情况
- 桑文锋:创业是场持久战,我希望能重构中国互联网的数据根基
- 嵌入式电路设计(物联网esp32最小电路设计)
- 个人事业实现突破的关键点
- 自动化比手工测试成本高?使用Selenium评估测试自动化的ROI指标
- 5.7 Universal Transformers
- 高德地图-AndroidStadio-No implementation found for long com.autonavi.amap.mapcore.MapCore.nativeNewInsta
- FL Studio20.9中文语言版安装下载 附带免费插件
- RayData大数据可视化教程(2)——动画制作基础和设置为本地资源库
- android车机升级carplay,现代增加支持DIY升级CarPlay,Android Auto的车型
- directshow
- java上传图片至阿里云oss服务器
- php中lpush(),LPUSH命令_视频讲解_用法示例-redis编程词典-php中文网
- TRUNCATE和DETELE的区别
- SharpDevelop5.1支持.net4.5.2以上版本
- pvm虚拟机基本原理
- 还不了解游戏建模教程吗?看完这篇文章让你从小白变为油条
- 高德地图 AMap.Driving