转自:
http://www.java265.com/JavaCourse/202206/3749.html
下文笔者讲述java中set集合的用法简介说明,如下所示
Set集合的简介
- set集合用于存储不重复的数据
- 它底层是使用map的key进行数据存储
复制代码 Set集合的特点
- 无序:
- 存取顺序不一致
- 不重复:
- 可以去除重复
- 无索引:
- 没有带索引的方法
- 所以不能使用普通for循环遍历
- 也不能通过索引来获取元素
复制代码 Set集合实现类及其特点
- HashSet:
- 无序、不重复、无索引
- LinkedHashSet:
- 有序、不重复、无索引
- TreeSet:
- 排序、不重复、无索引
复制代码 Set集合的示例
- package com.java265.other;
- import java.util.HashSet;
- import java.util.Set;
- public class TestSet {
- /**
- * java265.com set示例分享
- */
- public static void main(String[] args) {
- Set<String> set = new HashSet<>();
- set.add("小美");
- set.add("肖号");
- set.add("张明就");
- set.add("勺子");
- System.out.println(set);
- set.remove("肖号");
- System.out.println(set);
- }
- }
- -----运行以上代码,将输出以下信息-----
- [张明就, 小美, 勺子, 肖号]
- [张明就, 小美, 勺子]
复制代码 Set自定义排序
- 方式一
- 在自定义类实现Comparable接口
- 并重写里面的compareTo方法
- 设置比较规则
- //改变的第一个地方:实现Comparable类
- public class User implements Comparable<User> {
- //改变的第二个地方:重写Comparable类中的compareTo方法
- @Override
- public int compareTo(User o) {
- return this.age-o.age;
- }
- }
复制代码- Set<User> p = new TreeSet<>(new Comparator<User>() {
- @Override
- public int compare(User o1, User o2) {
- return o1.getAge()-o2.getAge();
- }
- });
- Set<User> p = new TreeSet<>((o1, o2) -> o1.getAge()-o2.getAge());
复制代码 免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作! |