`

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 对象 数组排序

    在Java编程语言中,ArrayList是集合框架的一部分,属于List接口的实现类,它是一个动态数组,可以存储可变数量的对象。当我们说“arraylist对象中的某个值排序”时,这通常指的是对ArrayList中的元素,而不是...

    JAVA 对象数组按照多个属性进行排序

    在Java编程中,对象数组排序是一项常见的任务,特别是在处理复杂数据结构时。当我们需要根据对象的多个属性进行排序时,情况会变得稍微复杂。本文将深入探讨如何在Java中实现这个功能,结合给出的标签“源码”和...

    Lesson_数组,排序,字符串,封装类

    例如,Java中的ArrayList或LinkedList类,它们封装了对动态数组或链表的操作,对外提供了add、remove等方法。理解封装类的设计原则,如抽象、继承和多态,是成为熟练的面向对象程序员的关键。 在“Lesson_数组,...

    java-区分数字元素和字符串元素的数组排序-代码

    Java 数组排序与分离数字元素和字符串元素的代码实现 Java 是一种广泛使用的编程语言,拥有强大的功能和灵活的应用场景。数组排序是 Java 编程中的一种常见操作,而在实际应用中,数组元素可能包含数字字符串和字符...

    基于ArrayList的对象多属性值排序

    ArrayList是Java集合框架的一部分,它提供了动态数组的功能,允许我们存储和操作对象数组。本主题将深入探讨如何对ArrayList中的对象按照多个属性进行排序。 首先,我们来看`Student.java`类,它通常会包含一个或多...

    arrayList排序

    ArrayList以对象数组的形式存储数据,提供了动态增长的能力,便于增删改查操作。在处理大量数据时,排序是常见的需求,本篇文章将深入探讨ArrayList的排序方法。 首先,ArrayList本身并不提供直接的排序功能,但...

    ASP .NET - ArrayList对象

    ASP.NET中的ArrayList对象是.NET框架中System.Collections命名空间下的一个类,它提供了一个动态大小的数组,用于存储各种类型的数据。ArrayList对象是一个非常基础且灵活的集合类,它允许程序员在运行时添加、删除...

    c# 数组与集合(ArrayList)游戏开发高级使用举例

    同时,为了提高代码的可读性和减少错误,应始终确保引入System.Collections命名空间,并正确实例化ArrayList对象。 在实际应用中,我们可以通过创建一个模拟的游戏场景来演示如何使用数组和ArrayList。例如,可以...

    java实现ArrayList根据存储对象排序功能示例

    java实现ArrayList根据存储对象排序功能示例 java实现ArrayList根据存储对象排序功能示例主要介绍了java中ArrayList的排序功能,通过构建新的比较对象Comparator实现排序操作。本文将详细讲解java中ArrayList的相关...

    java-抽取数组中的数字元素并排序-代码

    为了实现这一点,我们可以将`ArrayList&lt;Integer&gt;`转换为一个`Integer`数组,然后再转换为`int`数组以便于排序: ```java Integer[] ia = list.toArray(new Integer[0]); int result[] = new int[ia.length]; for ...

    数组、集合对象和范型

    在C#编程中,数组、集合对象和泛型是核心概念,它们在处理数据和构建高效应用程序时扮演着重要角色。 首先,数组是最基础的数据结构,用于存储同一类型的多个元素。在C#中,数组是一种固定大小的内存块,可以一次性...

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

    在Java编程语言中,对象排序是一项关键操作,特别是在处理集合数据结构时。本文将深入探讨如何对ArrayList、HashSet、TreeSet以及数组中的对象进行排序。理解这些排序机制对于编写高效且可维护的代码至关重要。 ...

    [线程技术]排序对象

    本示例代码提供了一个简单的线程安全的排序方法,适用于数组中的对象。我们来详细解析一下这段代码及其涉及的知识点。 首先,`SortObjects` 类是一个用于对对象数组进行排序的工具类。它没有实例化,所有的方法都是...

    浅谈对象数组或list排序及Collections排序原理

    在Java编程中,排序是常见的数据处理操作,无论是对象数组还是List对象,都有相应的排序机制。本篇文章将探讨如何对对象数组或List进行排序,以及Collections排序的底层原理。 首先,我们关注`List&lt;String&gt;`的排序...

    数组类模版及调用 arraylist

    2. 非类型安全:ArrayList存储的是Object对象,因此在访问元素时需要进行类型转换。 3. 自动内存管理:.NET框架会自动处理内存分配和释放。 4. 异常处理:ArrayList操作会抛出异常,如`IndexOutOfRangeException`和`...

    用java中对象数组知识做的学生管理系统

    除了基本的创建和访问对象,数组还支持各种操作,如遍历、排序和搜索。在学生管理系统中,可能需要根据学号、姓名或年龄对学生进行排序,这可以通过实现`Comparable`接口或者使用`Comparator`来完成。此外,可能还...

    java对象排序

    在Java编程语言中,对象排序是一项常见的操作,特别是在处理数据结构如数组或集合时。`java sort`标签表明我们关注的是使用Java内置的排序机制。本文将深入探讨Java中的对象排序,包括基本概念、API使用以及自定义...

    Java 的常用包与数组的复制与排序25

    它可以对任何类型的对象数组进行排序,只要该类型实现了`Comparable`接口或者提供了自定义的`Comparator`。例如,对于整数数组: ```java int[] numbers = {5, 3, 9, 1, 7}; Arrays.sort(numbers); ``` 如果需要...

    12道不错的数组例题

    - 在方法签名中,数组被视为对象,因此可以作为参数传递。在方法内部,数组是可变的,可以修改其元素。 8. **动态数组ArrayList**: - 虽然基本类型的数组长度固定,但可以使用`ArrayList`类创建动态大小的数组。...

Global site tag (gtag.js) - Google Analytics