package cn.pbc.whfxcjc.sql2xml.test;
import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import java.util.HashSet;
import java.util.List;
import java.util.SortedSet;
import java.util.TreeSet;
public class SortListDemo {
public static void main(String[] args) {
List list = new ArrayList();
list.add("111-1111");
list.add("131-1111");
list.add("111-1111");
list.add("131-1111");
list.add("121-1221");
list.add("111-1111");
list.add("111-1111");
SortListDemo sortList = new SortListDemo();
// 方法一:使用SortedSet一步实现去除重复并排序
Object[] result = sortList.removeIteranceAndSortList(list).toArray();
// // 方法二:使用HashSet先去除重复,然后再排序
// Object[] result = sortList.SortStringList(sortList.removeIterance(list)).toArray();
//
for (int i = 0; i < result.length; i++) {
System.out.println(result[i]);
}
}
private List removeIterance(List list) {
ArrayList result = new ArrayList();
if (list != null && list.size() > 0) {
HashSet set = new HashSet();
set.addAll(list);
result.addAll(set);
}
return result;
}
private List SortStringList(List list) {
Collections.sort(list, new Comparator() {
public int compare(Object o1, Object o2) {
String s1 = (String) o1;
String s2 = (String) o2;
if (s1 == null && s2 == null) {
return 0;
} else if (s1 == null) {
return -1;
} else if (s2 == null) {
return 1;
} else {
return s1.compareTo(s2);
}
}
});
return list;
}
private List removeIteranceAndSortList(List list) {
ArrayList result = new ArrayList();
if (list != null && list.size() > 0) {
SortedSet set = Collections.synchronizedSortedSet(new TreeSet(new Comparator() {
public int compare(Object o1, Object o2) {
String s1 = (String) o1;
String s2 = (String) o2;
if (s1 == null && s2 == null) {
return 0;
} else if (s1 == null) {
return -1;
} else if (s2 == null) {
return 1;
} else {
return s1.compareTo(s2);
}
}
}));
set.addAll(list);
result.addAll(set);
}
return result;
}
}
分享到:
相关推荐
- 对于大量数据的排序,ArrayList的性能可能不如使用LinkedList,因为ArrayList排序时涉及到大量的索引计算和元素移动。 - 如果ArrayList中元素的类型不一致,`Collections.sort()`会抛出ClassCastException异常,...
通用ArrayList 排序
本篇文章将深入探讨ArrayList的排序以及数组排序的相关知识点。 首先,ArrayList的排序主要依赖于`Sort()`方法。这个方法是ArrayList类中的一个成员,它通过快速排序算法对ArrayList中的元素进行原地排序。快速排序...
ArrayList排序和遍历补充案例.java
在这个示例中,我们将深入探讨如何对ArrayList中的对象进行排序,以及ArrayList的一些基本用法。 首先,我们创建了一个名为`Test`的类,其中包含主方法`main`,这是程序的入口点。在`main`方法中,我们实例化了几个...
java中对ArrayList进行排序的方法参考
然而,ArrayList本身并不提供排序功能,但我们可以借助Java的Collections类提供的sort()方法来实现排序。本文将通过三个示例详细讲解如何在Java中对ArrayList进行排序。 首先,我们来看一个简单的例子,创建一个名...
总结一下,Java中对ArrayList排序的步骤包括: 1. 创建一个ArrayList,并填充需要排序的对象。 2. 实现Comparator接口,创建一个或多个比较器类,覆盖`compare()`方法,定义排序规则。 3. 使用`Collections.sort()`...
在Java编程中,基于ArrayList的对象多属性值排序是一项常见的任务,尤其在处理数据集合时。ArrayList是Java集合框架的一部分,它提供了动态数组的功能,允许我们存储和操作对象数组。本主题将深入探讨如何对...
本篇将重点讲解如何利用ArrayList实现快速排序(Quick Sort)、归并排序(Merge Sort)和堆排序(Heap Sort)这三种经典的排序算法,并探讨它们的原理、优缺点以及在实际应用中的选择。 **快速排序(Quick Sort)**...
本篇文章将深入探讨如何使用ArrayList进行反转排序。在给出的标题和描述中,我们看到了两种方法,分别是反转ArrayList和对ArrayList进行排序。 首先,我们来看如何反转ArrayList。在Java中,我们可以使用`...
ArrayList排序 ArrayList本身不支持排序,但可以通过`Collections.sort()`方法对其进行排序: ```java Collections.sort(list); ``` ### 特别注意 ArrayList是非线程安全的,这意味着在多线程环境下,多个线程...
当我们说“arraylist对象中的某个值排序”时,这通常指的是对ArrayList中的元素,而不是ArrayList本身进行排序。ArrayList不支持直接排序,但是我们可以通过调用Collections.sort()方法或者自定义Comparator来实现。...
7. **集合的遍历与排序输出**:在完成数据录入并排序后,可以通过迭代Set(如`TreeSet`)或使用`Collections.sort()`方法对ArrayList排序,然后逐个输出每个学生的相关信息。 在Eclipse这样的集成开发环境中,可以...
ArrayList提供了丰富的成员方法来操作其中的元素,如添加、删除、查找和排序等。 2. **动态添加元素** - `Add`: 使用Add方法可以在ArrayList的末尾添加一个元素。例如,`myArrayList.Add(someObject)` 将对象...
对ArrayList里装载的对象进行自定义排序(任意对象、任何字段、任何规则) ! ArrayList中可装载任何对象,并以指定的该对象的字段对该集合中的对象进行指定形式的排序(正序、反序)。 任何类通用........
这将按照默认的排序规则(通常是字典顺序)对`ArrayList`中的元素进行排序。 #### 反转元素顺序 如果需要反转排序后的元素顺序,可以使用`Reverse()`方法: ```vb mycountries.Reverse() ``` 这将使`ArrayList`...
2. **ArrayList排序**:ArrayList是基于动态数组实现的列表,其内部实现支持排序。对整数ArrayList进行排序,可以直接调用`Collections.sort()`方法,因为整数实现了`Comparable`接口。而如果ArrayList包含自定义...