java.util
ListUtil类
package test;
import java.util.HashSet;
import java.util.List;
import java.util.Set;
import java.util.TreeSet;
public class ListUtil {
/**
* List集合去重复值
* @author jarWorker
* @param list
* @return List<?>
*/
@SuppressWarnings({ "rawtypes", "unchecked" })
public static List<?> collectionWithoutRepetition(List<?> list) throws Exception {
// 创建set并添加list中的元素,保征无重复元素
Set set = new HashSet<>(list);
list.clear();// 清空list
list.addAll(set);//
return list;
}
/**
* List集合去重复值并排序
* @author jarWorker
* @param list
* @return List<?>
*/
@SuppressWarnings({ "rawtypes", "unchecked" })
public static List<?> collectionWithoutRepetitionAndSort(List<?> list) throws Exception {
// 创建set并添加list中的元素,保证征无重复元素并排序
Set set = new TreeSet<>(list);
list.clear();// 清空list
list.addAll(set);//
return list;
}
}
Student类
package test;
public class Student {
private String name;
private String sex;
private Integer age;
public Student() {
super();
}
public Student(String name, String sex, Integer age) {
super();
this.name = name;
this.sex = sex;
this.age = age;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getSex() {
return sex;
}
public void setSex(String sex) {
this.sex = sex;
}
public Integer getAge() {
return age;
}
public void setAge(Integer age) {
this.age = age;
}
}
测试demo
package test;
import java.util.ArrayList;
import java.util.List;
import org.junit.Test;
/**
*
* @author jarWorker
*
*/
public class test {
@SuppressWarnings("unchecked")
@Test
public void testList() throws Exception {
String xiaoqiang = "小强";
String xiaoLi = "小丽";
String xiaoMing = "小明";
String xiaoHong = "小红";
List<String> list = new ArrayList<>();
list.add(xiaoMing);
list.add(xiaoHong);
list.add(xiaoLi);
list.add(xiaoqiang);
list.add(xiaoMing);
System.out.println("未去重集合="+list);
List<String> newList = (List<String>) ListUtil.collectionWithoutRepetition(list);
System.out.println("去重复结果="+newList);
List<String> sortList = (List<String>) ListUtil.collectionWithoutRepetitionAndSort(newList);
System.out.println("去重复并按treeSet排序结果="+sortList);
}
@SuppressWarnings("unchecked")
@Test
public void testObjectList() throws Exception {
Student xiaoqiang=new Student("小强","男",11);
Student xiaoLi=new Student("小丽","女",11);
Student xiaoMing=new Student("小明","男",11);
Student xiaoHong=new Student("小红","女",11);
List<Student> list = new ArrayList<>();
list.add(xiaoMing);
list.add(xiaoHong);
list.add(xiaoLi);
list.add(xiaoqiang);
list.add(xiaoMing);
System.out.println("未去重集合="+list);
List<Student> newList = (List<Student>) ListUtil.collectionWithoutRepetition(list);
System.out.println("去重复结果="+newList);
//不能对对象进行TreeSet排序
/*List sortList = ListUtil.collectionWithoutRepetitionAndSort(newList);
System.out.println(sortList);*/
}
}
Console:输出
未去重集合=[小明, 小红, 小丽, 小强, 小明]
去重复结果=[小强, 小明, 小丽, 小红]
去重复并按treeSet排序结果=[小丽, 小强, 小明, 小红]
未去重集合=[test.Student@4459eb14, test.Student@5a2e4553, test.Student@28c97a5, test.Student@6659c656, test.Student@4459eb14]
去重复结果=[test.Student@28c97a5, test.Student@4459eb14, test.Student@5a2e4553, test.Student@6659c656]