java集合对象排序_java ArrayList集合中的某个对象属性进行排序的实现代码
开发中有时候需要自己封装分页排序时,List如何对某一属性排序呢,分享一个小实例,大家共勉,希望能对大家有用,请多多指教。
1.Student的Bean如下:
public class Student {
private int age;
private String name;
private String weight;
public String getWeight() {
return weight;
}
public void setWeight(String weight) {
this.weight = weight;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
2.按照List中对象的Int类型属性进行排序
/**
* 按照List中的某个Int类型的属性进行排序
* @param list
*/
@SuppressWarnings("unchecked")
public static void sortIntMethod(List list){
Collections.sort(list, new Comparator(){
@Override
public int compare(Object o1, Object o2) {
Student stu1=(Student)o1;
Student stu2=(Student)o2;
if(stu1.getAge()>stu2.getAge()){
return 1;
}else if(stu1.getAge()==stu2.getAge()){
return 0;
}else{
return -1;
}
}
});
System.out.println("/排序之后///");
for(int i=0;i
Student st=(Student)list.get(i);
System.out.println("st.age="+st.getAge()+",st.name="+st.getName());
}
}
3.按照List中对象的String类型的属性进行排序
1)方法一:
/**
* 按照List中的某个String类型的属性进行排序
* @param list
*/
@SuppressWarnings("unchecked")
public static void sortStringMethod(List list){
Collections.sort(list, new Comparator(){
@Override
public int compare(Object o1, Object o2) {
Student stu1=(Student)o1;
Student stu2=(Student)o2;
return stu1.getName().compareTo(stu2.getName());
}
});
System.out.println("/排序之后///");
for(int i=0;i
Student st=(Student)list.get(i);
System.out.println("st.age="+st.getAge()+",st.name="+st.getName());
}
}
2)方法二:
使用java.text.RuleBasedCollator来实现,用来执行区分语言环境的String 比较:
/**
* 按照List中的某个String类型的属性进行排序
* @param list
*/
@SuppressWarnings("unchecked")
public static void sortByRuleBasedCollator(List list){
Collections.sort(list, new Comparator(){
@Override
public int compare(Object o1, Object o2) {
return ((java.text.RuleBasedCollator)java.text.Collator.getInstance(java.util.Locale.CHINA)).compare(((Student)o1).getName(), ((Student)o2).getName());
}
});
System.out.println("/排序之后///");
for(int i=0;i
Student st=(Student)list.get(i);
System.out.println("st.age="+st.getAge()+",st.name="+st.getName());
}
}
4.测试排序的方法
@SuppressWarnings("unchecked")
public static void main(String[] args) {
ArrayList list=new ArrayList();
Student t1=new Student();
t1.setAge(35);
t1.setName("wanglei");
list.add(t1);
Student t2=new Student();
t2.setAge(4);
t2.setName("lisi");
list.add(t2);
Student t3=new Student();
t3.setAge(56);
t3.setName("zhonghua");
list.add(t3);
Student t4=new Student();
t4.setAge(39);
t4.setName("waanglei");
list.add(t4);
System.out.println("/排序之前///");
for(int i=0;i
Student st=(Student)list.get(i);
System.out.println("st.age="+st.getAge()+",st.name="+st.getName());
}
//按照List中的某个Int类型的属性进行排序
sortIntMethod(list);
//按照List中的某个String类型的属性进行排序
sortStringMethod(list);
}
5.结果
java集合对象排序_java ArrayList集合中的某个对象属性进行排序的实现代码相关推荐
- java中list元素排序_java list集合元素根据某些字段排序
一.jdk1.6的环境下 新建ComparatorSort类,并实现Comparator接口,重写compare方法 降序排序:o1的元素>o2的元素,并返回-1:o1的元素小于o2的元素,并返 ...
- java sql 排序_JAVA像SQL一样对List对象集合进行排序
在开始之前,我先卖个关子提一个问题:假设我们有一个Movie类,这个类有三个成员变量分别是starred(是否收藏), title(电影名称), rating(评分).你知道怎么对一个Movie对象组 ...
- Java基础知识强化之集合框架笔记27:ArrayList集合练习之去除ArrayList集合中的重复字符串元素...
1. 去除ArrayList集合中的重复字符串元素(字符串内容相同) 分析: (1)创建集合对象 (2)添加多个字符串元素(包含重复的) (3)创建新的集合 (4)遍历旧集合,获取得到每一个元素 (5 ...
- java——定义一个功能将ArrayList 集合中的重复元素删除(java集合七)
定义一个功能将ArrayList 集合中的重复元素删除 ArrayList 集合中是允许储存重复元素的 import java.util.ArrayList; import java.util.Ite ...
- java的对象数组和ArrayList集合
对象数组 创建Person对象 public class Person {private String name;private int age;public Person() {}public Pe ...
- java 集合与泛型_java的集合和泛型的知识点归纳1
[Collection.泛型] 主要内容 Collection集合 迭代器 增强for 泛型 教学目标 [ ] 能够说出集合与数组的区别 [ ] 说出Collection集合的常用功能 [ ] 能够使 ...
- arraylist java 排序_Java ArrayList排序方法详解
由于其功能性和灵活性,ArrayList是 Java 集合框架中使用最为普遍的集合类之一.ArrayList 是一种 List 实现,它的内部用一个动态数组来存储元素,因此 ArrayList 能够在 ...
- Java基础知识融合(Arraylist集合,多态,继承,封装,包装类,循环嵌套,if嵌套等等)
目录 1.项目大纲 1.项目前提 2.项目说明 3.项目内容 3.该软件完成以下功能: 2.软件设计 1.结构 2.类设计 3. 部分代码展示 心得: 1.项目大纲 1.项目前提 掌握java基本语法 ...
- Java学习之路-day-09 ArrayList集合
Java ArrayList集合 每日一句 1. ArrayList 1.1 ArrayList类概述 1.2 ArrayList类常用方法 1.3 ArrayList存储字符串并遍历 1.4 Arr ...
最新文章
- jenkins如何实现重新发布历史构建记录里的版本
- HDU4549 M斐波那契数列(矩阵快速幂+费马小定理)
- c++ 宽搜(倒水)
- use resources at the campus if possible
- git 32位_编译64位的BorderlessGaming
- java中两种添加监听器的策略
- 面试官:Spring该选择哪个构造方法来进行实例化?画重点要考的
- javascript-DOM-节点
- 头像上传html js版,javascript头像上传代码实例
- 用POP动画编写带富文本的自定义动画效果
- Datawhale编程学习之算法思想(7)
- 补偿IIR滤波器引入的延迟
- PHP方法,传入的参数前带三个点是什么意思?
- 惠普局域网共享打印机设置_Windows7局域网共享打印机教程,HP M1136 MFP打印机共享方法...
- Exception 异常和自定义异常
- webstorm直接运行js
- 购买PG霜,请认准官方网站
- 用计算机验证克莱姆法则,克莱姆法则的几种证明方法
- 厉害了!用12万行代码堆出来个蔡徐坤,编译还能通过!
- 成功的礼品公司的产品经营模式
热门文章
- 笑傲江湖手3D游服务器端文件,新笑傲江湖手游7月2日部分服务器数据互通预告...
- python开发图形小程序_python小程序图画 python开发微信小程序
- kodi资源_kodi 展示播放 NAS 电影
- 基于参考点的非支配遗传算法-NSGA-III(二)
- 日历控件如何切换语言 vant_看看甘特图控件VARCHART XGantt的亮点
- mysql和python先学哪个_Python数据库操作 初识mysql和mysql基本操作#学习猿地
- dos打开计算机管理,小何 发布 DOS 命令打开控制面板各项东东 你们懂得...
- linux内核arc4算法,linux内核中与进程相关的数据结构(基于linux-mainline-rc4)
- mysql in 查询优化_mysql in 集合查询优化问题。
- python RandomTrees特征编码