来学java数据结构——Set基础
【一起来学java数据结构】——Set
Set是一个在Collection下的一个数据结构。
它和Map很像,不同点就是:Set实现了Collection,而Map并没有实现它。
更重要的一点是:Set里面只是存储了Key,没有存储Value
Set的方法
下面就先来介绍一下set的一些基本方法
public static void main(String[] args) {
Set<Integer> set=new HashSet<>();
set.add(1);
System.out.println(set.add(2));//true
System.out.println(set.contains(1));//true
System.out.println(set.contains(100));//false
System.out.println(set.size());//2
System.out.println(set.remove(100));//false
System.out.println(set.remove(1));//true
System.out.println(set.isEmpty());//false
set.clear();
System.out.println(set.isEmpty());//true
}
toArray
将set里的值转换成Array
public static void main(String[] args) {
Set<Integer> set=new HashSet<>();
set.add(1);
set.add(2);
set.add(3);
set.add(4);
Object[] objects= set.toArray();
for (Object o:objects) {
System.out.print(o " ");
}
}
----------------------------------------------------
//还可以使用下面的代码
Integer[] integers=set.toArray(new Integer[0]);
for (Integer integer:integers) {
System.out.print(integer " ");
}
Iterator
这是一个迭代器和while一起使用
public static void main(String[] args) {
Set<Integer> set=new HashSet<>();
set.add(1);
set.add(2);
set.add(3);
set.add(4);
Iterator<Integer> iterator=set.iterator();
while(iterator.hasNext()){
System.out.println(iterator.next());
}
}
containsAll
public static void main(String[] args) {
Set<Integer> set=new HashSet<>();
set.add(1);
set.add(2);
set.add(3);
set.add(4);
List<Integer> list=new ArrayList<>();
list.add(1);
list.add(2);
System.out.println(set.containsAll(list));//true
list.add(0);
System.out.println(set.containsAll(list));//false
}
检查Set里面是不是包含其他集合里面的元素
addAll
将另一个集合的内容加入到Set中,并会自动去重
public static void main(String[] args) {
Set<Integer> set=new HashSet<>();
set.add(1);
set.add(2);
set.add(3);
set.add(4);
List<Integer> list=new ArrayList<>();
list.add(1);
list.add(2);
set.addAll(list);
System.out.println(set);// 1 2 3 4
list.add(0);
set.addAll(list);
System.out.println(set);//0 1 2 3 4
}
Set的特点
- 和Map不一样,Set本身是继承了Collection接口的
- 实现Set接口的常用类是HashSet和TreeSet,还用一个不常用的类是LinkedHashSet
- Set里面只存放Key,不存放Value
- Set里面没有提供修改Key的方法,所以只能删掉再重新插入
- key的值不可以相同且不可以为null
- Set的最大的作用是去重
这篇好文章是转载于:学新通技术网
- 版权申明: 本站部分内容来自互联网,仅供学习及演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,请提供相关证据及您的身份证明,我们将在收到邮件后48小时内删除。
- 本站站名: 学新通技术网
- 本文地址: /boutique/detail/tanhfifjjf
系列文章
更多
同类精品
更多
-
photoshop保存的图片太大微信发不了怎么办
PHP中文网 06-15 -
Android 11 保存文件到外部存储,并分享文件
Luke 10-12 -
《学习通》视频自动暂停处理方法
HelloWorld317 07-05 -
word里面弄一个表格后上面的标题会跑到下面怎么办
PHP中文网 06-20 -
photoshop扩展功能面板显示灰色怎么办
PHP中文网 06-14 -
微信公众号没有声音提示怎么办
PHP中文网 03-31 -
excel下划线不显示怎么办
PHP中文网 06-23 -
excel打印预览压线压字怎么办
PHP中文网 06-22 -
怎样阻止微信小程序自动打开
PHP中文网 06-13 -
TikTok加速器哪个好免费的TK加速器推荐
TK小达人 10-01