农民 发表于 2022-8-24 05:02:26

Java中set集合简介说明

转自:
  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());
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
页: [1]
查看完整版本: Java中set集合简介说明