今天遇到一个合并去重问题,从网上搜索一样总结出来两个比较简单的方法,这里去重是只能取出地址相同的数据,例如:如果两个字符串的值相同但都是单独new出来的这样去不了 @Test public void test3(){ List<MyTest> a = new ArrayList<MyTest>(); List<MyTest> b = new ArrayList<MyTest>(); MyTest a1 = new MyTest(); MyTest a2 =
最近在做统计钱的计算时遇到的一个需求,需要将一个大类别下的每一种钱进行特定的运算然后获得六年的钱,最后将这些钱按照年份进行汇总,获得总得大类型的六年的钱,在这个过程中采用了这种方法,每次算得钱放在map中,然后将map进行合并,写篇随笔mark下. public class CombineMap { public static Map<Integer,Integer> addTo(Map<Integer,Integer> target, HashMap<Integer,Int
题目链接:http://codeforces.com/contest/651/problem/C 思路:结果就是计算同一横坐标.纵坐标上有多少点,再减去可能重复的数量(用map,pair存一下就OK了). #include<bits/stdc++.h> using namespace std; typedef long long ll; typedef pair <int,int> pii; const int N = 2e5 + 5; map <int,int> x,
List<A>和List<B>,A/B中均没有重复的,现在保证A/B合并为C,且C中没有重复的. 参考http://blog.csdn.net/secondjanuary/article/details/8599108 A.removeAll(B) A.addAll(B) (此处建议处理A为空的情况) 一个同事的建议 Set<Long> C = new HashSet<>(); C.addAll(A); C.addAll(B); new ArrayList&
在开发过程中.数组和集合的处理是最让我们担心.一般会用for or foreach 来处理一些操作.这里介绍一些常用的集合跟数组的操作函数. 首先举例2个集合A,B. List<int> listA = new List<int> {1,2,3,5,7,9}; List<int> listB = new List<int> {13,4,17,29,2}; listA.AddRange(listB );把集合A.B合并 List<int>
在开发过程中.数组和集合的处理是最让我们担心.一般会用for or foreach 来处理一些操作.这里介绍一些常用的集合跟数组的操作函数. 首先举例2个集合A,B. List<int> listA = new List<int> {1,2,3,5,7,9}; List<int> listB = new List<int> {13,4,17,29,2}; listA.AddRange(listB );把集合A.B合并 List<int> R