01 双层循环
i从前面遍历 j从后面遍历
String类型
输出
[荷花, 菊花, 玫瑰花]
自定义类
输出
[User{name=‘荷花’, age=20}, User{name=‘梅花’, age=20}, User{name=‘梅花’, age=30}]
02 构建新集合 判断新集合是否已经存在
contains()底层使用的是equals()进行比较 泛型要重写equals()
String类型
输出
[荷花, 菊花, 玫瑰花]
自定义类
03 HashSet
不保证前后顺序
输出
[荷花, 菊花, 玫瑰花]
HashSet + ArrayList 保证前后顺序一致
输出
[荷花, 菊花, 玫瑰花]
04 TreeSet
不保证前后顺序
输出
[荷花, 玫瑰花]
TreeSet + ArrayList 保证前后顺序
输出
[荷花, 玫瑰花]
05 使用Set或者Map集合判断的是否已经装如新的集合了
05 stream流
更多查看stream()章节的distinct()
输出
[荷花, 菊花, 玫瑰花]