ArrayList去重和有序、无序

有序、无序是指在进行插入操作时,插入位置的顺序性
先插的位置在前,后插的位置在后,则为有序,反之无序

而大家容易混淆的就是排序,排序是指集合内的元素是否按照升序或降序来排序

实现了List接口的集合类全部有序,如ArrayList、LinkedList
实现了Set接口的集合类中,HashSet无序,TreeSet排序
实现了Map接口的集合类中,HashMap无序,TreeMap排序

 

第一种:通过LinkedHashSet来解决,LinkedHashSet是有序不可重复的,可以把ArrayList传入LinkedHashSet中

控制台输出:

[1, 2, 2, 3, 3, 1, 2]
[1, 2, 3]
第二种:使用Java8的新特性stream的distinct()方法来实现

控制台输出:

[1, 2, 2, 3, 3, 1, 2]
[1, 2, 3]
第三种:使用contains()方法去重

控制台输出:

[1, 2, 2, 3, 3, 1, 2]
[1, 2, 3]
第四种: 利用HashSet(无序唯一)的特性

控制台输出:

[1, 2, 2, 3, 3, 1, 2]

posted @ 2023-02-28 17:01  Devilxj  阅读(574)  评论(0)    收藏  举报