ArrayList去除重复数据,排序,arraylist排序
分享于 点击 39231 次 点评:34
ArrayList去除重复数据,排序,arraylist排序
去除重复数据
包括保持顺序和不保持顺序两个方法
注意:因为借用了HashSet,所以判断重复需要重写 T 的hashCode()和equals()方法
public class ListTools {
/**
* 删除重复元素,保持顺序
* @param list
*/
public static <T> void removeDuplicateWithOrder(List<T> list) {
Set<T> set = new HashSet<T>();
List<T> newList = new ArrayList<T>();
for (Iterator<T> iter = list.iterator(); iter.hasNext();) {
T element = iter.next();
if (set.add(element))
newList.add(element);
}
list.clear();
list.addAll(newList);
}
/**
* 删除重复元素,不保持顺序
* @param list
*/
public static <T> void removeDuplicate(List<T> list) {
HashSet<T> h = new HashSet<T>(list);
list.clear();
list.addAll(h);
}
}
排序
使用Collections.sort(rootList, new ComparatorPermissions());
public class ComparatorPermissions implements Comparator<Permissions>{
@Override
public int compare(Permissions o1, Permissions o2) {
return o2.getOrderSort().compareTo(o1.getOrderSort());//注意返回顺序,升序还是降序,两个调换位置即可
}
}
相关文章
- 暂无相关文章
用户点评