Java集合处理: 两个集合去重复、或者交集
来源:互联网 发布:淘宝平铺拍摄布光 编辑:程序博客网 时间:2024/05/18 20:49
@EqualsAndHashCode(of = "vmId")public class VirtualMachine { @Getter @Setter private Integer id; @Getter @Setter private String vmName; @Getter @Setter private String userFor; @Getter @Setter private Integer memory; @Getter @Setter private Integer cpu; @Getter @Setter private Integer hardDisk; @Getter @Setter private String templateGuid; @Getter @Setter private String vmId;
法一去重复:利用set的不可以存重复对象,去重复【对象要实现hashcode、equals】
Set set = new HashSet();for (Object object : virtualMachineList) { set.add(object);}for (Object object : listVms) { set.add(object);}System.out.println("***************::" + set.size());
法二去重复:
/** * 将列表中重复的虚拟机移除,重复指的是vmId相同 * * @param vmList * @return */public ArrayList<VirtualMachine> removeDuplicteVm(List<VirtualMachine> vmList) { Set<VirtualMachine> s = new TreeSet<VirtualMachine>(new Comparator<VirtualMachine>() { @Override public int compare(VirtualMachine o1, VirtualMachine o2) { System.out.println(o1.getVmId() + "|" + o2.getVmId()); String v1 = o1.getVmId() != null ? o1.getVmId() : "0"; String v2 = o2.getVmId() != null ? o2.getVmId() : "0"; return v1.compareTo(v2); } }); s.addAll(vmList); return new ArrayList<VirtualMachine>(s);}
取交集::::::
使用集合的自带方法,removeAll取交集
virtualMachineList.removeAll(listVms);
阅读全文
0 0
- Java集合处理: 两个集合去重复、或者交集
- Java取两个集合的交集
- java list集合去重复
- 求两个集合的交集
- 两个集合List的交集
- 求两个集合的交集
- Lintcode两个集合的交集
- 求两个集合的交集
- java 集合 交集
- Java笔记之List集合去重复
- set集合去重复
- List集合去重复
- List集合去重复
- List集合去重复
- java求两个集合的交集和并集
- java求两个集合的交集和并集
- Java 两个有序集合 求交集 差集
- JAVA快速求取两个集合的交集 Vector-retainAll
- 蛇形填数(二人)变形之三角形
- Codeforces 831-E.Cards Sorting(线段树)
- 自定义VS程序异常处理及调试Dump文件(一)
- java多线程之内存可见性-synchronized、volatile
- 微信小程序踩坑总结
- Java集合处理: 两个集合去重复、或者交集
- this call apply的认识
- Linux系统同步时间
- day03学习代码
- 解决SpringMvc前台传Date类型到后台报400错误问题
- 树的性质
- PowerDesigner教程系列
- 【CSharp 学习笔记】关于ManualResetEvent的用法
- 小程序网络访问的封装