`

ArrayList中的数据排序--java对象排序

    博客分类:
  • JAVA
阅读更多
常常遇到数组排序的问题.比如我有一个Person类,它的实例对象存储在ArrayList数组中,现在要把ArrayList数组中的Person对象按照年龄排序.
其实这种情况经常遇到.
下面给出源代码:

1:Person.java文件:-------------------------------
public class Person{
String name;
int age;

public Person(String name,int age){
  this.name = name;
  this.age = age;
 
}

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:Mycomparator.java-------------------------------
//实现Comparator接口,也就是定义排序规则,你几乎可以定义任何规则
package com.infoearth;
import java.util.*;
public class Mycomparator implements Comparator{

public int compare(Object o1,Object o2) {
  Person p1=(Person)o1;
  Person p2=(Person)o2; 
  if(p1.age<p2.age)
   return 1;
  else
   return 0;
}

}

3:ListSort.java------------------------------------

package com.infoearth;

import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;

public class ListSort {
public static void main(String[] args){
  ArrayList list = new ArrayList();
  list.add(new Person("lcl",28));
  list.add(new Person("fx",23));
  list.add(new Person("wqx",29));
  Comparator comp = new Mycomparator();
  Collections.sort(list,comp); 
  for(int i = 0;i<list.size();i++){
   Person p = (Person)list.get(i);
   System.out.println(p.getName());
  } 
 
}

}
分享到:
评论

相关推荐

    Java ArrayList实现的快排,归并排序,堆排序

    在Java编程中,排序是数据处理的一个重要环节。ArrayList作为Java集合框架中的一员,它提供了丰富的操作接口,包括对元素的添加、删除、修改以及排序等。本篇将重点讲解如何利用ArrayList实现快速排序(Quick Sort)...

    最快的排序算法 java最快的排序-在Java中对列表进行排序的最快方法,排序算法数据结构

    排序算法在 Java 中的应用 Java 中的排序算法是指对列表中的元素进行排序的方法。常见的排序算法有冒泡排序、选择排序、插入排序、快速排序、归并排序、堆排序等。每种排序算法都有其优缺点,选择合适的排序算法取...

    arraylist 对象 数组排序

    在Java编程语言中,ArrayList是...总的来说,对ArrayList中的对象进行排序涉及到Java集合框架的核心概念,包括List接口、Collections工具类以及Comparator接口。理解这些知识点对于编写高效、灵活的Java代码至关重要。

    java中对ArrayList进行排序

    java中对ArrayList进行排序的方法参考

    arrayList排序

    - 对于大量数据的排序,ArrayList的性能可能不如使用LinkedList,因为ArrayList排序时涉及到大量的索引计算和元素移动。 - 如果ArrayList中元素的类型不一致,`Collections.sort()`会抛出ClassCastException异常,...

    list集合树状排序-java

    在Java编程中,"list集合树状排序"是一种常见的需求,特别是在处理前端展示的数据时,如使用jQuery的treetable插件。这个场景通常涉及到数据结构的组织和排序,以便前端能够按照树形结构正确地展示层级关系。下面将...

    ArrayList-LinkedList--Vector-Map.zip_vector

    在Java编程语言中,`ArrayList`、`LinkedList`、`Vector`和`Map`是四种常用的集合类,它们各自有着不同的特性和用途。本篇文章将深入探讨这些数据结构及其使用场景。 首先,我们来了解`ArrayList`。`ArrayList`是`...

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

    在Java编程中,对象数组排序是一项常见的任务,...以上就是关于“JAVA 对象数组按照多个属性进行排序”的详细解析,希望对你理解Java排序机制有所帮助。在实际开发中,灵活运用这些技巧可以提高代码的可维护性和效率。

    java 中文姓氏 排序

    本文将详细介绍如何在 Java 中对包含中文姓氏的对象列表或字符串列表进行排序。 #### 二、基本概念 1. **Collator 类**:这是 Java 中用于文本排序和检索的标准类。`Collator` 类提供了与语言环境相关的字符串排序...

    arrayliSt---listDemo

    在Java编程语言中,ArrayList是集合框架中一个重要的类,属于List接口的实现。ArrayList主要用于存储有序的、可变大小的元素序列。本示例"arrayliSt---listDemo"显然是一个关于ArrayList基本操作和使用的演示。下面...

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

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

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

    在Java编程中,基于ArrayList的对象多属性值排序是一项常见的任务,尤其在处理数据集合时。ArrayList是Java集合框架的一部分,它提供了动态数组的功能,允许我们存储和操作对象数组。本主题将深入探讨如何对...

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

    ### Java 抽取数组中的数字元素并排序 在Java编程中,经常需要处理不同类型的数据,尤其是在Web开发领域,数据的清洗与整理尤为重要。本篇文章将详细介绍如何从一个包含字符串的数组中提取出数字,并对这些数字进行...

    java私塾面试题----JAVA基础3

    - **堆(Heap)**:堆内存是Java中动态分配的内存区域,用于存储所有Java对象和数组。对象一旦在堆上创建,就一直存在,直到垃圾回收器回收它。堆空间的大小可以通过JVM参数设置。堆内存的管理相对复杂,因为对象的...

    036-sum-arraylist-bigdecimals-java8

    在Java编程语言中,"036-sum-arraylist-bigdecimals-java8"的主题主要涉及到两个核心知识点:ArrayList和BigDecimal的使用,以及Java 8的新特性。ArrayList是Java集合框架的一部分,用于存储可变大小的对象数组。...

    ArrayList排序和遍历补充案例.java

    ArrayList排序和遍历补充案例.java

    java集合某个字段按照中文拼音排序.docx

    Java集合某个字段按照中文拼音排序是Java开发中经常遇到的问题。对Java集合中的某个字段按照中文拼音排序可以使用多种方法,本文将介绍两种常见的方法。 方法一:使用Comparable接口 在Java中,我们可以使用...

    数据结构(java版本)

    数据结构是计算机科学中的核心概念,它涉及到如何有效地组织和管理数据,以便于高效地进行存储、检索和处理。在Java编程环境下,理解和掌握数据结构对于程序员来说至关重要,特别是对于初学者,它可以帮助提升编程...

    java面试题收集录--java面试没问题---来吧java对象

    13. **算法与数据结构**:虽然不是Java语言本身的特性,但良好的算法基础能提升解决问题的能力,如排序算法(快速排序、归并排序、冒泡排序等)、查找算法(二分查找、哈希查找等)。 14. **Java 8及以后的新特性**...

Global site tag (gtag.js) - Google Analytics