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. MVC实战之排球计分(一)—— 需求分析与数据库设计

    此系列博客目的是制作一款排球计分程序.这系列博客讲讲述此软件的 各个功能的设计与实现. 一.需求分析: 这个程序是排球计分程序,其业务非常简单,具体如下: 1.本程序可以选择用户身份,通过不同角度记录 ...

  2. javaee登录界面

    首先在此之前我们应该正确安装数据库,以及eclipse(javaee)文件包. 1.首先在javaee中建立新的项目 2.右键点击WebContent-New-JSP File,新建jsp(动态)文件 ...

  3. Leetcode 1002. 查找常用字符

    1002. 查找常用字符  显示英文描述 我的提交返回竞赛   用户通过次数301 用户尝试次数324 通过次数303 提交次数480 题目难度Easy 给定仅有小写字母组成的字符串数组 A,返回列表 ...

  4. SQLServer 2008以上误操作数据库恢复方法—日志尾部备份

    原文出处:http://blog.csdn.net/dba_huangzj/article/details/8491327 问题: 经常看到有人误删数据,或者误操作,特别是update和delete的 ...

  5. NOI1995石子合并&多种石子合并

    题目描述 在一个圆形操场的四周摆放N堆石子,现要将石子有次序地合并成一堆.规定每次只能选相邻的2堆合并成新的一堆,并将新的一堆的石子数,记为该次合并的得分. 试设计出1个算法,计算出将N堆石子合并成1 ...

  6. loj 10000 活动安排

    ****这是一个贪心题,把结束时间排个序,然后留出更多的时间给后面的活动. #include<cstdio> #include<cstring> #include<alg ...

  7. html 中一些不常见的标签

    标签 描述 <b> 定义粗体文本. <big> 定义大号字. <em> 定义着重文字. <i> 定义斜体字. <small> 定义小号字. ...

  8. SQL Server“复杂”概念之理解

    用惯了Oracle的人,接触SQL Server中的概念时,会觉得比较难理解,甚至感觉有点“绕”,这是因为Oracle中将某些其他数据库中存在的概念给简化了,这里就拿两个最常见的概念来举例说明:1.s ...

  9. 微信小程序初见+nodejs服务端 (一个简单的博客)

    推荐网址: 腾讯云快速开发(nodejs前后端):https://developers.weixin.qq.com/miniprogram/dev/qcloud/qcloud.html#%E5%AF% ...

  10. JQuery对象和DOM对象的区别与转换

    刚开始学习JQuery,经常分不清楚哪些是JQuery对象,哪些是DOM对象,了解它们之间的关系是很有必要的. 1.DOM对象和JQuery对象的区别 1)  DOM对象 DOM是Document O ...