请教一个小算法

我有一个list集合,比如里面的值为{1,2,3,3,4,5,6,1,2}等。
我想要的结果是:把集合里面有相同值进行累加,生成一个新的list集合。
这个用java算法该怎么写,效率最好?

我是这样写的不晓得怎么样?
List list1 = new ArrayList();
		list1.add("a");
		list1.add("b");
		list1.add("c");
		list1.add("d");
		list1.add("e");
		list1.add("f");
		list1.add("a");
		list1.add("d");
		list1.add("d");
		Map map = new HashMap();
		for(int i=0;i<list1.size();i++){
			if(map.get(list1.get(i)) == null ){
				map.put(list1.get(i),list1.get(i));
			}else{
				map.put(list1.get(i), map.get(list1.get(i))+list1.get(i).toString());
			}
		}
		for(Object value:map.values()){
			System.out.println(value);
		}

你可能感兴趣的:(C++,c,算法,C#,F#)