常常遇到数组排序的问题.比如我有一个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());
}
}
}
特此存档,也希望对兄弟们有帮助.
分享到:
相关推荐
本知识点重点讲解将List<Bean>转换为List<Map>的过程,这在进行Web开发、数据处理以及与前端交互等场景中非常常见。同时,也会涉及List<Object>转换为List<Object>及list转换为JsonArray的内容。 ### List<Bean>...
### c# List<T>类排序方法 #### 一、初始工作与预备知识 在C#中,`List<T>`是一个非常常用的泛型集合类,它提供了动态数组的功能,可以存储任意数量的相同类型元素。当涉及到对List中的数据进行排序时,我们可以...
3. 排序:`List<T>`提供`Sort()`方法,对于实现了`IComparable<T>`接口的类型,可以直接排序。若需要自定义排序规则,可以传递一个比较器`Comparison<T>`或`IComparer<T>`实例。 4. 分割与合并:`List<T>.Split()`...
一般使用springjdbc、hibernate的sql查询,库获取到的数据都是List<Map<String, Object>>结果集,如果我们要转化为JavaBean,则需要做一系列的map.get(),然后obj.set()。 此工程中就是解决List<Map<String, Object>...
在Java编程中,将`List<Object>`转换为Json格式是一种常见的需求,特别是在处理服务器与客户端之间的数据交换或者存储数据到数据库之前。这个过程涉及到对象序列化和JSON库的使用。以下是一个详细的步骤和知识点讲解...
将list<Map>转换成JavaBean的工具类
支持一个List<Map>按照MAP中的一个或者多个Key的value值的中英文来排序,自动识别字符和数字(包括[a-zA-z]?[0-9]*)排序
可将list<T>转化成JSON字符串 使用方法 例: List<自定义类> l; ListChangeToJson.ListChangeToJson classJson = new ListChangeToJson.ListChangeToJson(); classJson.ArrayToJsonAll(l, "数组名字");
然而,SharedPreference本身并不直接支持复杂数据类型如`List<Map<String, List<String>>>`的存储。在实际操作中,我们需要通过序列化和反序列化的方式来处理这类数据。 **序列化**是将复杂数据结构转换成可以存储...
基于新版本的POI编写的读取Excel文件数据的工具类,可根据绝对路径、File对象、InputSteam对象读取解析Excel文件内容,并返回List<List<String>>格式结果,其中包含对单元格公式的处理。
`List<T>`是.NET Framework中`System.Collections.Generic`命名空间下的一个泛型集合类,它实现了`IList<T>`、`ICollection<T>`和`IEnumerable<T>`接口。`List<T>`是用于存储强类型对象的动态数组,允许快速的插入和...
本篇文章将深入探讨如何在`List<String>`中实现日期的升序排序。在实际应用中,我们经常遇到日期字符串格式不一致的情况,这使得直接使用`Collections.sort()`方法进行排序可能会出现问题。为了解决这个问题,我们...
拆分list,将list<bean>中的内容根据某一属性的值对list进行拆分,分组
当`List<T>`绑定到`DataGridView`时,需要确保数据源支持排序。这通常通过实现`IComparable<T>`接口在自定义的`T`类中完成,或者在数据绑定时提供一个自定义的排序委托。 2. Check列表头全选问题:在`DataGridView`...
一、List<T>对象中的T是值类型的情况(int 类型等) 对于值类型的List直接用以下方法就可以复制: List<T> oldList = new List<T>(); oldList.Add(..); List<T> newList = new List<T>(oldList); 二、List<T>对象...
排序List<T>:** 如果T是可比较的类型(如int, string等),可以使用`Sort`方法对列表进行排序: ```csharp numbers.Sort(); // 默认升序排序 ``` **10. 反转List<T>:** 使用`Reverse`方法反转列表中的元素顺序...
本篇文章将深入探讨三种常见的集合类型:Array、ArrayList、Hashtable以及泛型的List<T>,并提供相关的示例代码来帮助理解它们的用法。 ### 1. Array(数组) 数组是最基础的集合类型,它允许存储相同类型的元素...
例如,如果你有一个JSON数组,你可能希望将其解析为`IList<string>`或`IList<MyCustomClass>`,具体取决于JSON数据的内容。 C#中解析JSON通常使用的是Json.NET库,这是一个非常流行且功能强大的开源库,可以方便地...
List<T>使用动态数组的方式实现,允许元素数量按需动态增加,相比于传统数组有更大的灵活性。List<T>实现了多个接口,包括IList<T>、ICollection<T>、IEnumerable<T>、IList、ICollection和IEnumerable,从而提供了...
`T`代表你想要存储的对象类型,例如`List<int>`表示存储整数的列表,`List<string>`则表示字符串列表。 **方法一:使用XmlNodeReader** 第一种方法是通过`XmlNodeReader`来逐个读取XML节点,并将其转化为指定的...