`

ArrayList数组对象排序

    博客分类:
  • java
阅读更多
POJO
package com.test.comparator;

public class User
{
	private String name;
	private String age;
	 
	 public User(String name,String age){
	  this.name=name;
	  this.age=age;
	 }
	 public String getAge() {
	  return age;
	 }
	 public void setAge(String age) {
	  this.age = age;
	 }
	 public String getName() {
	  return name;
	 }
	 public void setName(String name) {
	  this.name = name;
	 } 
	}



java中Comparator的用法
在java中,如果要对集合对象或数组对象进行排序,需要实现Comparator接口以达到我们想要的目标。

package com.test.comparator;

import java.util.Comparator;


public class ComparatorUser implements Comparator
{

	public int compare(Object o1, Object o2)
	{
		User user0=(User)o1;
	    User user1=(User)o2;
	    
	    //首先比较年龄,如果年龄相同,则比较姓名
	    int flag=user0.getAge().compareTo(user1.getAge());
	    
	    if(flag==0){
	     return user0.getName().compareTo(user1.getName());
	    }else{
	     return flag;
	    } 
	}

}



测试类
package com.test.comparator;

import java.util.ArrayList;
import java.util.Collections;
import java.util.List;

//测试类
public class SortTest
{
	 public static void main(String[] args){
		  List userlist=new ArrayList();
		  userlist.add(new User("dd","4"));
		  userlist.add(new User("aa","1"));
		  userlist.add(new User("ee","5"));
		  userlist.add(new User("bb","2"));  
		  userlist.add(new User("ff","5"));
		  userlist.add(new User("cc","3"));
		  userlist.add(new User("gg","6"));
		  
		  ComparatorUser comparator=new ComparatorUser();
		  Collections.sort(userlist, comparator);
		   
		  for (int i=0;i<userlist.size();i++){
		   User user_temp=(User)userlist.get(i);
		      System.out.println(user_temp.getAge()+","+user_temp.getName()); 
		  }
		  
		 }
}

分享到:
评论

相关推荐

    arraylist 对象 数组排序

    arraylist 对象中的某个值排序,并非单出的数组排序

    Java 对象排序详解.rar_java 对象排序_对象_排序

    Java 对象排序详解 本文主要关注排序Collection的ArrayList、HashSet、TreeSet,以及最后但并非最不重要的数组。

    java课程设计学生成绩管理系统(学生信息增删改查各科总分排序IO文本存储读写等等)

    该学生成绩管理系统共两个类文件,共计500行代码,主要运用了arraylist数组,io文件读写,以及面向对象思想,对Java学习者是非常有帮助的,也可作为java大作业或者课程设计,100%包运行的,也易于理解!基于eclipse...

    Java《面向对象程序设计》实验报告五

    然后将ArrayList对象中所有.png的元素都删除,再显示ArrayList对象中的所有元素。 2、按顺序把1,10,5,7,6,2,9,20,14,存入到List中(注:允许自己自定义任何数),并对其进行排序,打印其升序和降序排列的结果。然后...

    集合anylist要进行筛选.pdf

    集合就如同数组,用来存储和管理一组特定类型的数据对象,除了基本的数据处理功能,集合直接提供了各种数据结构及算法的实现,如队列、链表、排序等,可以让你轻易地完成复杂的数据操作。在使用数组和集合时要先...

    Shuffle-ArrayList

    ShuffleArrayList 编写以下方法,对ArrayList进行随机排序:基本上,赋值是要我创建一个arraylist,然后创建一个随机对数组中的任何内容进行随机混洗的方法,混洗意味着将字符/字符串放入要放入的任何内容中。...

    java编程练习题

    要求:对TreeSet中的元素1,2,3,4,5,6,7,8,9,10进行排列,排序逻辑为奇数在前偶数在后,奇数按照升序排列,偶数按照降序排列 4、使用TreeSet和Comparator,写TreeSetTestInner 要求: 对TreeSet中的元素...

    Java_13:多维数组

    第四天:介绍对象 第五天:方法/功能 第六天:自定义课程 第七天:JavaDoc和单元测试 第八天:If-Else陈述 第9天:开关/ If-Else梯子 第十天:循环 第11天:While循环 第十二天:数组 第13天:多维数组 第14天:...

    JAVA SE 开发手册.CHM

    6、JAVA数组及查找和排序 7、JAVA面向对象之三大特性 8、JAVA面向对象之函数、堆和栈、访问修饰符 9、JAVA面向对象关键字 10、JAVA面向对象抽象类abstract 11、JAVA面向对象接口interface 12、JAVA面向对象之...

    《Java和Android开发实战详解》第6到10章源代码-by 南邮-陈杨

    6.5 对象数组 112 6.6 查找与排序 112 6.6.1 排序与查找的基础 113 6.6.2 冒泡排序法 113 6.6.3 顺序查找法 115 6.6.4 二分查找法 116 习题 117 第7章 类与对象 119 7.1 面向对象的应用程序开发 ...

    Java语言的科学与艺术 斯坦福大学经典教材

    11.10 复习题 11.11 编程练习 第12章 搜索与排序 12.1 搜索 12.2 排序 12.3 评估算法效率 12.4 使用数据文件 12.5 小结 12.6 复习题 12.7 编程练习 第13章 数组与ArrayList类 13.1 ArrayList类回顾 13.2 HashMap类 ...

    Java集合总结.txt

    数组可以存放基本数据类型,集合只能存放对象 ps:要想往集合中存放基本数据类型,必须转换为对应的包装类 Collection -- 集合接口 List -- List接口(添加了许多针对下标操作的方法) 特点:有序的,且可重复 ...

    Java语言的科学与艺术(国外计算机科学经典教材)

    第11章 数组与ArrayList类  11.1 数组简介  11.2 数组的内部表示法  11.3 数组作为参数传递  11.4 使用数组制作表格  11.5 数组初始化  11.6 多维数组  11.7 图像处理  11.8 ArrayList类  11.9 小结  ...

    C# 中的IComparable和IComparer的使用及区别

    在开发过程中经常会遇到比较排序的问题,比如说对集合数组的排序等情况,基本类型都提供了默认的比较算法,如string提供了按字母进行排序,而int整数则是根据整数大小进行排序.但是在引用类型中(具有多个字段),那么...

    突破程序员基本功的16课.part2

    第1课 数组与内存控制 1.1 数组初始化 1.1.1 Java数组是静态的 1.1.2 数组一定要初始化吗 1.1.3 基本类型数组的初始化 1.1.4 引用类型数组的初始化 1.2 使用数组 1.2.1 数组元素就是变量 1.2.2 没有多维...

    java内部学习笔记.docx

    3.18二维数组和对象数组 28 3.19其他注意事项 28 Java SE核心I 30 4.1 Object类 30 4.2 String类 31 4.3 StringUtils类 33 4.4 StringBuilder类 33 4.5正则表达式 34 4.6 Date类 35 4.7 Calendar类 35 4.8 ...

    java常用工具类的使用

    比如对一个数组进行排序,程序员可以写如下排序算法: 代码演示:数组排序 public static void sort(int[] arrs) { boolean isSwap = false; for (int i = 0; i ; i++) { isSwap = false; for (int j = arrs....

    set.list.map接口

    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~2.List(列表&lt;接口&gt;)以线性方式存储,有序,允许重复主要实现类有LinkList(采用链表数据结构)和ArrayList(代表可大可小的数组) Eg: ...

    超级有影响力霸气的Java面试题大全文档

     ArrayList 和Vector都是使用数组方式存储数据,此数组元素数大于实际存储的数据以便增加和插入元素,它们都允许直接按序号索引元素,但是插入元素要涉及数组元素移动等内存操作,所以索引数据快而插入数据慢,...

Global site tag (gtag.js) - Google Analytics