常常遇到数组排序的问题.比如我有一个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实现快速排序(Quick Sort)...
排序算法在 Java 中的应用 Java 中的排序算法是指对列表中的元素进行排序的方法。常见的排序算法有冒泡排序、选择排序、插入排序、快速排序、归并排序、堆排序等。每种排序算法都有其优缺点,选择合适的排序算法取...
在Java编程语言中,ArrayList是...总的来说,对ArrayList中的对象进行排序涉及到Java集合框架的核心概念,包括List接口、Collections工具类以及Comparator接口。理解这些知识点对于编写高效、灵活的Java代码至关重要。
java中对ArrayList进行排序的方法参考
- 对于大量数据的排序,ArrayList的性能可能不如使用LinkedList,因为ArrayList排序时涉及到大量的索引计算和元素移动。 - 如果ArrayList中元素的类型不一致,`Collections.sort()`会抛出ClassCastException异常,...
在Java编程中,"list集合树状排序"是一种常见的需求,特别是在处理前端展示的数据时,如使用jQuery的treetable插件。这个场景通常涉及到数据结构的组织和排序,以便前端能够按照树形结构正确地展示层级关系。下面将...
在Java编程语言中,`ArrayList`、`LinkedList`、`Vector`和`Map`是四种常用的集合类,它们各自有着不同的特性和用途。本篇文章将深入探讨这些数据结构及其使用场景。 首先,我们来了解`ArrayList`。`ArrayList`是`...
在Java编程中,对象数组排序是一项常见的任务,...以上就是关于“JAVA 对象数组按照多个属性进行排序”的详细解析,希望对你理解Java排序机制有所帮助。在实际开发中,灵活运用这些技巧可以提高代码的可维护性和效率。
本文将详细介绍如何在 Java 中对包含中文姓氏的对象列表或字符串列表进行排序。 #### 二、基本概念 1. **Collator 类**:这是 Java 中用于文本排序和检索的标准类。`Collator` 类提供了与语言环境相关的字符串排序...
在Java编程语言中,ArrayList是集合框架中一个重要的类,属于List接口的实现。ArrayList主要用于存储有序的、可变大小的元素序列。本示例"arrayliSt---listDemo"显然是一个关于ArrayList基本操作和使用的演示。下面...
在Java编程语言中,对象排序是一项关键操作,特别是在处理集合数据结构时。本文将深入探讨如何对ArrayList、HashSet、TreeSet以及数组中的对象进行排序。理解这些排序机制对于编写高效且可维护的代码至关重要。 ...
在Java编程中,基于ArrayList的对象多属性值排序是一项常见的任务,尤其在处理数据集合时。ArrayList是Java集合框架的一部分,它提供了动态数组的功能,允许我们存储和操作对象数组。本主题将深入探讨如何对...
### Java 抽取数组中的数字元素并排序 在Java编程中,经常需要处理不同类型的数据,尤其是在Web开发领域,数据的清洗与整理尤为重要。本篇文章将详细介绍如何从一个包含字符串的数组中提取出数字,并对这些数字进行...
- **堆(Heap)**:堆内存是Java中动态分配的内存区域,用于存储所有Java对象和数组。对象一旦在堆上创建,就一直存在,直到垃圾回收器回收它。堆空间的大小可以通过JVM参数设置。堆内存的管理相对复杂,因为对象的...
在Java编程语言中,"036-sum-arraylist-bigdecimals-java8"的主题主要涉及到两个核心知识点:ArrayList和BigDecimal的使用,以及Java 8的新特性。ArrayList是Java集合框架的一部分,用于存储可变大小的对象数组。...
ArrayList排序和遍历补充案例.java
Java集合某个字段按照中文拼音排序是Java开发中经常遇到的问题。对Java集合中的某个字段按照中文拼音排序可以使用多种方法,本文将介绍两种常见的方法。 方法一:使用Comparable接口 在Java中,我们可以使用...
数据结构是计算机科学中的核心概念,它涉及到如何有效地组织和管理数据,以便于高效地进行存储、检索和处理。在Java编程环境下,理解和掌握数据结构对于程序员来说至关重要,特别是对于初学者,它可以帮助提升编程...
13. **算法与数据结构**:虽然不是Java语言本身的特性,但良好的算法基础能提升解决问题的能力,如排序算法(快速排序、归并排序、冒泡排序等)、查找算法(二分查找、哈希查找等)。 14. **Java 8及以后的新特性**...