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方法一样,这里就不写了

最新文章

  1. apache 日志轮询 linux cronolog
  2. uploadify文件批量上传
  3. apache开启rewrite重写
  4. WGZX:javaScript 学习心得--2
  5. lightOJ 1172 Krypton Number System(矩阵+DP)
  6. HDU 4638 Group ★(树状数组)
  7. Python dictionary implementation
  8. ExtJs4 学习3 combox自动加载的例子
  9. 转:100个高质量Java开发者博客
  10. SQL之用户自定义函数
  11. 关于Adobe CC 系列软件反复弹出 Adobe 软件许可问题
  12. python 使用 &#39;python -m pip install --upgrade pip&#39;提示PermissionError: [WinError 5] 拒绝访问
  13. [转帖]web安全:QQ号快速登录漏洞及被盗原理
  14. css预处理器--sass学习($变量名)
  15. USB通信基础知识
  16. Addition Chains
  17. Spring AOP 理论
  18. 4569: [Scoi2016]萌萌哒
  19. 【Keras学习】Sequential模型
  20. web服务器安全笔记

热门文章

  1. ubuntu Sublime Text 2编辑器安装
  2. UI基础二:下拉,F4,OP等
  3. CAD插入块后坐标不匹配
  4. Java中关键字this、super的含义及使用
  5. easyUI的form表单重复提交处理
  6. 如何把一个杯子卖到上万元,不学你就OUT了
  7. JQuery操作input
  8. learning ddr RTT
  9. JAVA设计模式(一)单例模式
  10. 每天CSS学习之transform