java学习笔记23(Set接口)
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接口)的更多相关文章
- Java学习笔记之---比较接口与抽象类
Java学习笔记之---比较接口与抽象类 抽象类是描述事物的本质,接口是描述事物的功能 接口与抽象类的异同 1.一个类只能继承一个父类,但是可以有多个接口 2.抽象类中的抽象方法没有方法体,但是可以有 ...
- java学习笔记——Collection集合接口
NO 方法名称 描述 1 public boolean add(E e) 向集合中保存数据 2 public void clear() 清空集合 3 public boolean contains(O ...
- 【Java学习笔记】Map接口的子接口---TreeMap
TreeMap,与TreeSet类似,可以对集合中的元素进行排序,同时保持元素的唯一性. 应注意,Comparable(实现接口,记得覆盖comparaTo方法),Comparator的使用. imp ...
- Java学习笔记——继承、接口、多态
浮点数的运算需要注意的问题: BigDecimal operand1 = new BigDecimal("1.0"); BigDecimal operand2 = new BigD ...
- Java学习笔记-抽象类与接口
抽象类用于在类中不用具体实现,而在子类中去实现的类 抽象类 抽象类概述 抽象定义:抽象就是从多个事物中将共性的,本质的内容抽取出来 抽象类:Java中可以定义没有方法体的方法,该方法的具体实现由子类完 ...
- Java学习笔记(十)面向对象---接口
理解 初期理解 可以认为接口是一个特殊的抽象类.当接口中的方法都是抽象的,那么该类可以通过接口的形式来表示. class用于定义类 interface用于定义接口 格式特点 接口中常见定义:常量,抽象 ...
- java学习笔记(1)——有关接口
接口: interface intf0{ public void doSomething(); } interface intf1{ public void doAnything(); } class ...
- Java学习笔记:03面向对象-接口_多态
1.类的概念 一堆具有共同的成员变量(属性)和成员方法(功能)对象的集合 2.接口的概念 接口是功能的集合,就是方法的集合 接口中只能定义方法,不能定义普通的成员变量 而且接口中的成员方法,必须是抽象 ...
- Java学习笔记23(Calendar类)
Calendar意味日历,对Date类中的很多方法做了改进 Calendar类是一个抽象类,不可以见对象,需要子类完成实现 不过这个类有特殊之处,不需要创建子类对象,而是使用它的静态方法直接获取: 示 ...
随机推荐
- div成圆形分布
1. css3 ul{ width: 200px; height: 200px; background ...
- WDA基础三:简单的INPUT选择,简单的TABLE显示
先从基本的开始,简单的单选和TABLE显示 1.创建选择条件节点,CONTEXT页签,右键CONTEXT创建NODE,对应1:1 1:1 lead selection 2.创建结果节点,对应0:n ...
- Oracle 11.2.0.4下载地址
Linux x86: https://updates.oracle.com/Orion/Services/download/p13390677_112040_LINUX_1of7.zip?aru=16 ...
- 2017-6-5/MySQL分库分表
分库分表,顾名思义,就是把原本存储于一个库一张表的数据分块存储到多个库多张表上.对于大型互联网应用来说,当一张表的数据量达到百万.千万时,数据库每执行一次查询所花的时间会变多,并且数据库面临着极高的并 ...
- 用SQL命令手工创建CDB
1.设置环境变量 $ export ORACLE_SID=ora12c $ export ORACLE_HOME=/home/oracle/product/12.1.0/db1 $ export ...
- Ubuntu中安装deb包程序
deb是Debian Linux的安装格式,跟Red Hat Linux的rpm非常相似,最基本的安装命令是:dpkg -i file.deb dpkg 是Debian Package的简写,是为De ...
- 使用深度学习检测TOR流量——本质上是在利用报文的时序信息、传输速率建模
from:https://www.jiqizhixin.com/articles/2018-08-11-11 可以通过分析流量包来检测TOR流量.这项分析可以在TOR 节点上进行,也可以在客户端和入口 ...
- daal utils printNumericTable
#=============================================================================== # Copyright 2014-20 ...
- textarea输入框限制字数
<textarea onkeyup="checkLen(this)"></textarea> <div>您还可以输入 <span id=& ...
- linux查看在线用户并踢出用户
linux查看在线用户并踢出用户 1.查看在线用户 w [root@dbserver01 ~]# w 16:45:04 up 16 days, 8:48, 1 user, load average: ...