java中怎样去除list中重复的数据,并且显示重复数据的条数
很多集合处理,我都推荐用Java8的流来处理,是非常简单易懂的
其实你这个问题,总来说就是按照集合中的字符串进行分类,并统计数量,Stream只用简单的代码就完成复杂的操作,代码如下
List<String> list = Arrays.asList("day", "walipo", "day", "walipo", "legeand", "day", "douwbo", "day", "day");
Map<String, Long> collect = list.stream().collect(Collectors.groupingBy(Function.identity(), Collectors.counting()));
System.out.println(collect);
最后返回的Map就是以字符串为key,value为其个数
删除ArrayList中重复数据保条数。
public static void removeDuplicateWithOrder(List list) 。
Set set = new HashSet()
List newList = new ArrayList()
for (Iterator iter = list.iterator(); iter.hasNext();) {
Object element = iter.next();
if (set.add(element))
newList.add(element);
list.clear();
list.addAll(newList);
System.out.println( " remove duplicate " + list)。
List<String> list = new ArrayList<String>();
list.add("a");
list.add("a");
list.add("a");
list.add("b");
list.add("b");
list.add("c");
list.add("c");
list.add("c");
list.add("c");
//默认每个元素至少出现了一次
Map<String, Integer> map = new HashMap<String, Integer>();
for (String string : list)
map.put(string, 1);
for (int i = 0; i < list.size(); i++) //外循环是循环的次数。
for (int j = list.size() - 1 ; j > i; j--) //内循环是 外循环一次比较好。
if (list.get(i).equals(lis,
list.remove(j);
if(map.containsKey(list.get(i))){
map.put(list.get(i), map.get(list.get(i))+1)
for (String string : list)
System。
List<String> list = new ArrayList<String>();
list.add("a");
list.add("a");
list.add("a");
list.add("b");
list.add("b");
list.add("c");
list.add("c");
list.add("c");
list.add("c");
//默认每个元素至少出现了一次
Map<String, Integer> map = new HashMap<String, Integer>();
for (String string : list) {
map.put(string, 1);
}
for (int i = 0; i < list.size(); i++) //外循环是循环的次数
{
for (int j = list.size() - 1 ; j > i; j--) //内循环是 外循环一次比较的次数
{
if (list.get(i).equals(list.get(j)))
{
list.remove(j);
if(map.containsKey(list.get(i))){
map.put(list.get(i), map.get(list.get(i))+1);
}
}
}
}
for (String string : list) {
System.out.println("去除重复后的元素:"+string+"--重复的次数:"+map.get(string));
}
/********************************************************************************
* Project Name [java-projects]
* File Name [PACKAGE_NAME.CountDuplication.java]
* Creation Date [2016-12-07]
* <p/>
* Copyright© 2016 ge.y.yang@hotmail.com All Rights Reserved
* <p/>
* Work hard, play harder, think big and keep fit
********************************************************************************/
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
/**
* @author <a href="mailto:ge.y.yang@hotmail.com">杨舸</a>
* @version 1.0.0
* @since jdk 1.8
*/
public class CountDuplication {
public static void main(String[] args) {
List<String> list = new ArrayList<>();
list.add("day");
list.add("walipo");
list.add("day");
list.add("walipo");
list.add("legeand");
list.add("day");
list.add("douwbo");
list.add("day");
list.add("day");
Map<String, Integer> map = new HashMap<>();
for (String str : list) {
Integer count = map.get(str);
if (count == null) {
count = 1;
map.put(str, count);
} else {
map.put(str, ++count);
}
}
for (Map.Entry<String, Integer> entry : map.entrySet()) {
String key = entry.getKey();
Integer value = entry.getValue();
if (value == 1) {
System.out.println(key + "有1条");
} else {
System.out.println(key + "有" + (value - 1) + "条重复记录");
}
}
System.out.println(map.keySet()); // 不重复的元素
}
}
2016-12-07 · 企业短信服务平台。
package com.Frame;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
public class Main {
public static void main(String[] args) {
HashMap<String, String> map = new HashMap<String, String>();
List<String> list = new ArrayList<String>();
list.add("a");
list.add("b");
list.add("a");
list.add("b");
list.add("c");
list.add("d");
list.add("d");
List<String> tempList = new ArrayList<String>();
for (String i : list) { // 删除重复元素
if (!tempList.contains(i)) {
tempList.add(i);
}
}
for (String a : list) // 统计元素重复次数
{
String count = map.get(a);
if (count == null) {
map.put(a, "1");
} else {
map.put(a, (Integer.parseInt(count) + 1) + "");
}
}
System.out.println("list中去重后的元素有:");
for (String i : tempList) {
System.out.println(i);
}
System.out.println("其中:");
for (String key : map.keySet()) {
System.out.println(key + "出现" + map.get(key) + "次");
}
}
}