Set接口:

  1.Set接口是不包含重复元素的Collection;

  2.set集合没有索引,只能通过增强型for循环或迭代器来遍历;

  3.Set接口只包含从collection接口继承的方法,并且增加了禁止重复元素这个限制。

  Set接口有HashSet类和LinkedHashSet类实现;

Set接口的实现类:HashSet类

   HashSet类特点:1.无序集合,

             2.可以存入空(null)

             3.不可以出现重复元素      示例:

import java.util.HashSet;

public class Demo2 {
public static void main(String[] args) {
HeshSetDemo();
} private static void HeshSetDemo() {
HashSet<String> h=new HashSet<>();
h.add("张三");//继承Collection的add方法;
h.add("李四");
h.add("小明");
h.add("王五");
System.out.println(h);//[李四, 张三, 小明, 王五] 可以看出存储是无序的
h.remove("张三");//继承Collection的remove方法
System.out.println(h);//[李四, 小明, 王五]
Object[] s = h.toArray();//将集合转数组方法toArray方法
for (int i = 0; i <s.length ; i++) {
System.out.println(s[i]);//李四 小明 王五
}
System.out.println();
int size = h.size();//继承Collection的size方法
System.out.println(size);//
boolean b = h.contains("小明");//继承Collection的contains方法
System.out.println(b);//true
h.clear();//继承Collection的clear方法
System.out.println(h);//[]
boolean empty = h.isEmpty();//继承Collection的isEmpty方法
System.out.println(empty);//true }
}

2.Set接口实现类:LinkedHashSet类:

  LinkedHashSet类是HashSet的子类,它的方法与HashSet类一样,都是继承Collection接口的方法。

  LinkedHashSet是有序的   示例:

import java.util.Set;

public class Demo3 {
public static void main(String[] args) {
function();
} private static void function() {
String[] str={"aaa","bbb","ccc","ddd"};
Set<String> s=new HashSet<>(Arrays.asList(str));
System.out.println(s);//[aaa, ccc, bbb, ddd] Set无序集合
HashSet<String> s1=new HashSet<>(Arrays.asList(str));
System.out.println(s1);//[aaa, ccc, bbb, ddd] HashSet无序集合
LinkedHashSet<String> s2=new LinkedHashSet<>(Arrays.asList(str));
System.out.println(s2);//[aaa, bbb, ccc, ddd] LinkedHashSet集合有序
}
}

LinkedHashSet集合方法与HashSet方法一样,这里就不写了

java学习笔记23(Set接口)的更多相关文章

  1. Java学习笔记之---比较接口与抽象类

    Java学习笔记之---比较接口与抽象类 抽象类是描述事物的本质,接口是描述事物的功能 接口与抽象类的异同 1.一个类只能继承一个父类,但是可以有多个接口 2.抽象类中的抽象方法没有方法体,但是可以有 ...

  2. java学习笔记——Collection集合接口

    NO 方法名称 描述 1 public boolean add(E e) 向集合中保存数据 2 public void clear() 清空集合 3 public boolean contains(O ...

  3. 【Java学习笔记】Map接口的子接口---TreeMap

    TreeMap,与TreeSet类似,可以对集合中的元素进行排序,同时保持元素的唯一性. 应注意,Comparable(实现接口,记得覆盖comparaTo方法),Comparator的使用. imp ...

  4. Java学习笔记——继承、接口、多态

    浮点数的运算需要注意的问题: BigDecimal operand1 = new BigDecimal("1.0"); BigDecimal operand2 = new BigD ...

  5. Java学习笔记-抽象类与接口

    抽象类用于在类中不用具体实现,而在子类中去实现的类 抽象类 抽象类概述 抽象定义:抽象就是从多个事物中将共性的,本质的内容抽取出来 抽象类:Java中可以定义没有方法体的方法,该方法的具体实现由子类完 ...

  6. Java学习笔记(十)面向对象---接口

    理解 初期理解 可以认为接口是一个特殊的抽象类.当接口中的方法都是抽象的,那么该类可以通过接口的形式来表示. class用于定义类 interface用于定义接口 格式特点 接口中常见定义:常量,抽象 ...

  7. java学习笔记(1)——有关接口

    接口: interface intf0{ public void doSomething(); } interface intf1{ public void doAnything(); } class ...

  8. Java学习笔记:03面向对象-接口_多态

    1.类的概念 一堆具有共同的成员变量(属性)和成员方法(功能)对象的集合 2.接口的概念 接口是功能的集合,就是方法的集合 接口中只能定义方法,不能定义普通的成员变量 而且接口中的成员方法,必须是抽象 ...

  9. Java学习笔记23(Calendar类)

    Calendar意味日历,对Date类中的很多方法做了改进 Calendar类是一个抽象类,不可以见对象,需要子类完成实现 不过这个类有特殊之处,不需要创建子类对象,而是使用它的静态方法直接获取: 示 ...

随机推荐

  1. div成圆形分布

    1.  css3 ul{                 width: 200px;                 height: 200px;                 background ...

  2. WDA基础三:简单的INPUT选择,简单的TABLE显示

    先从基本的开始,简单的单选和TABLE显示 1.创建选择条件节点,CONTEXT页签,右键CONTEXT创建NODE,对应1:1  1:1  lead selection 2.创建结果节点,对应0:n ...

  3. Oracle 11.2.0.4下载地址

    Linux x86: https://updates.oracle.com/Orion/Services/download/p13390677_112040_LINUX_1of7.zip?aru=16 ...

  4. 2017-6-5/MySQL分库分表

    分库分表,顾名思义,就是把原本存储于一个库一张表的数据分块存储到多个库多张表上.对于大型互联网应用来说,当一张表的数据量达到百万.千万时,数据库每执行一次查询所花的时间会变多,并且数据库面临着极高的并 ...

  5. 用SQL命令手工创建CDB

    1.设置环境变量  $ export ORACLE_SID=ora12c  $ export ORACLE_HOME=/home/oracle/product/12.1.0/db1  $ export ...

  6. Ubuntu中安装deb包程序

    deb是Debian Linux的安装格式,跟Red Hat Linux的rpm非常相似,最基本的安装命令是:dpkg -i file.deb dpkg 是Debian Package的简写,是为De ...

  7. 使用深度学习检测TOR流量——本质上是在利用报文的时序信息、传输速率建模

    from:https://www.jiqizhixin.com/articles/2018-08-11-11 可以通过分析流量包来检测TOR流量.这项分析可以在TOR 节点上进行,也可以在客户端和入口 ...

  8. daal utils printNumericTable

    #=============================================================================== # Copyright 2014-20 ...

  9. textarea输入框限制字数

    <textarea onkeyup="checkLen(this)"></textarea> <div>您还可以输入 <span id=& ...

  10. linux查看在线用户并踢出用户

    linux查看在线用户并踢出用户 1.查看在线用户 w [root@dbserver01 ~]# w 16:45:04 up 16 days, 8:48, 1 user, load average: ...