Java统计list集合中重复的元素
本题⽬能够从宏观上理解list、set、map三⼤集合的特点:
解决思路是:使⽤⼀个map,key⽤来记录list中的数据,我们知道set集合不允许元素重复,正好在map的jdk8的api中有⼀个keySet()⽅法如下
说明了hashmap的key是唯⼀的,我们利⽤这个特性然后⽤value⽤来记录重复数据的个数,然后操作map来获取list中的重复数据即可
完整代码如下:
package st;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
public class Test03 {
public static void main(String[] args) {
List<String> list = new ArrayList<>();
list.add("a");字段字符串去重复
list.add("a");
list.add("a");
list.add("b");
list.add("b");
list.add("c");
list.add("d");
list.add("d");
Map<String,Integer> map = new HashMap<>();
for(String str:list){
Integer i = 1; //定义⼀个计数器,⽤来记录重复数据的个数
(str) != null){
(str)+1;
}
map.put(str,i);
}
System.out.println("重复数据的个数:"+String());
System.out.print("重复的数据为:");
for(String s:map.keySet()){
(s) > 1){
System.out.print(s+" ");
}
}
}
}
执⾏结果如下:
友情提⽰:相关类似的集合去重操作或统计重复元素的操作可以参照本例中的核⼼代码稍作修改即可
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论