方式一:一种很low的方式,使用双重循环,将值get出来,和后面的每一个值都作比较,如果有相同的则remove()删除掉。
![](https://i-blog.csdnimg.cn/blog_migrate/257358ef1df8c34bdc3b543126eedc89.png)
方式二:使用迭代器遍历集合,使用迭代器的next()方法得到下一个元素,然后使用集合的indexOf()和lastIndexOf()方法分别从头和尾判断这两个值得索引是否一样,如果索引一样说明是同一个值,然后将该元素remove()。
![](https://i-blog.csdnimg.cn/blog_migrate/5ba695675a61ad957b0b4c23f97770cc.png)
方式三:短小精悍,直接使用stream()流的distinct()方法进行去重操作。
![](https://i-blog.csdnimg.cn/blog_migrate/bf8d0d8ec960977946881c1d821239a3.png)
方法四:利用一个新的集合,遍历原来的集合,同时判断新的集合中是否包含当前元素,使用contains()方法判断是否包含。如果包含了这个值就不在添加了。
![](https://i-blog.csdnimg.cn/blog_migrate/4c6ce3cd1ce531195b4d606e559aaca7.png)
方法五:将元素全部添加到set中利用set的特性去重,(LinkedHashSet有序,HashSet无序,TreeSet)
![](https://i-blog.csdnimg.cn/blog_migrate/cf0e2627b70cfaec417d1a90be28cce8.png)
Tips:使用Arrays.asList(element....)的方式生成的集合,不能进行添加和删除操作,只能修改值。