java陣列去重
阿新 • • 發佈:2018-12-21
閒來無事寫個陣列去重的方法,如果有更好,更簡潔的方法請大家不要忘了留言給我哦! public static void main(String[] args) { String[] arr = {"jslkdfj", "sds", "ss", "dd", "nn", "mm", "nn", "mm"}; //陣列去重: //方案一(將資料放入到新的List裡面) List<String> list = Lists.newArrayList(); for (int i = 0; i < arr.length; i++) { if (!list.contains(arr[i])) { list.add(arr[i]); } } list.stream().forEach(System.out::println); // 方案二:(利用java8新特性去重) Arrays.asList(arr).stream().distinct().forEach(System.out::println); // 方案三:(利用Set集合或是TreeSet集合) Set<String> set = Sets.newHashSet(Arrays.asList(arr)); Iterator<String> it = set.iterator(); while (it.hasNext()) { System.out.println(it.next()); } // 方案四:(利用Map集合中的keySet、entrySet方法) Map<String, Object> map = Maps.newHashMap(); for (String s : arr) { map.put(s, s); } // for (String key : map.keySet()) { // System.out.println(key); // } for (Map.Entry<String, Object> m : map.entrySet()) { System.out.println(m.getKey()); } }