扫码关注官方订阅号
光阴似箭催人老,日月如移越少年。
可以参考:
public static void main(String[] args) { List<String> list = new ArrayList<String>(); list.add("string1"); list.add("string1"); list.add("string1"); list.add("string1"); list.add("string3"); list.add("string2"); list.add("string2"); HashMap<String, Integer> hashMap = new HashMap<String, Integer>(); for (String string : list) { if (hashMap.get(string) != null) { Integer value = hashMap.get(string); hashMap.put(string, value+1); System.out.println("the element:"+string+" is repeat"); } else { hashMap.put(string, 1); } } }
List<String> list = new ArrayList<String>(); list.add("aaa"); list.add("bbb"); list.add("ccc"); list.add("ddd"); list.add("aaa"); list.add("aaaa"); list.add("eee"); list.add("bbb"); list.add("ccc"); StringBuilder builder = new StringBuilder(); for(String str : list) { // 如果不存在返回 -1。 if(builder.indexOf(","+str+",") > -1) { System.out.println("重复的有:"+str); } else { builder.append(",").append(str).append(","); } }
优雅的话当然是Java8的新特性了
List<String> words = Arrays.asList("a", "b", "c", "d", "a", "d"); List<String> results = new ArrayList<>(); for (Multiset.Entry<String> entry : HashMultiset.create(words).entrySet()) { if (entry.getCount() > 1) { results.add(entry.getElement()); } } System.out.println(results);
List<String> words = Arrays.asList("a", "b", "c", "d", "a", "d"); List<String> results = HashMultiset.create(words).entrySet().stream() .filter(w -> w.getCount() > 1) .map(Multiset.Entry::getElement) .collect(Collectors.toList()); System.out.println(results);
List<String> words = Arrays.asList("a", "b", "c", "d", "a", "d"); Set<String> repeated = new HashSet<>(); List<String> results = new ArrayList<>(); for (String word : words) { if (!repeated.add(word)) { results.add(word); } } System.out.println(results);
优不优雅,只是别人封装罢了。
微信扫码关注PHP中文网服务号
QQ扫码加入技术交流群
Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
PHP学习
技术支持
返回顶部
可以参考:
优雅的话当然是Java8的新特性了
用 Guava 可以这样写
With Lambda
不使用 Guava
优不优雅,只是别人封装罢了。