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]