java-API之集合7——Set接口

Set结构数据的特点

  • 集合中的数据无序
  • 一个不包含重复元素的 collection。
  • 最多包含一个 null 元素。

可参考:java-API之集合2

常用方法

该类型的集合的方法都是继承于父接口Collection的方法,可参考:java-API之集合3——Collection接口

测试

 1 public class Test2_Set {
 2 
 3     public static void main(String[] args) {
 4         // 1、创建对象
 5         Set<String> set = new HashSet<>();
 6         // 2、常用方法
 7         set.add("Jane");  // 如果此 set 中尚未包含指定元素,则添加指定元素。
 8         set.add("Rose");
 9         set.add("NBA");
10         System.out.println(set); // 没有顺序
11         set.add("Rose");
12         System.out.println(set); //不允许有重复元素
13         set.add(null);
14         System.out.println(set); // [null, Rose, NBA, Jane]
15         
16 //        set.clear();// 从此 set 中移除所有元素。
17         System.out.println(set.contains("Rose")); // true 如果此 set 包含指定元素,则返回 true。
18         System.out.println(set.equals("Rose")); // false 该集合与指定对象是否相同
19         System.out.println(set.hashCode());  // 4931530 哈希值
20         System.out.println(set.isEmpty()); // false 如果此 set 不包含任何元素,则返回 true。
21         System.out.println(set.remove("Rose")); // true
22         System.out.println(set.size()); // 3
23         System.out.println(Arrays.toString(set.toArray()));  // [null, NBA, Jane]
24         
25         
26         // 集合间的操作
27         Set<String> set2 = new HashSet<>();
28         set2.add("100");
29         set2.add("200");
30         set2.add("300");
31         System.out.println(set.addAll(set2)); //true 将集合2中的所有元素添加到set中
32         System.out.println(set); // [null, 100, 200, 300, NBA, Jane]
33         System.out.println(set.containsAll(set2)); // true  set集合中是否包含集合set2中所有的元素
34 //        System.out.println(set.removeAll(set2)); // true
35 //        System.out.println(set);  // [null, NBA, Jane]
36         System.out.println(set.retainAll(set2)); // true
37         System.out.println(set); // [100, 200, 300]
38         
39         Iterator<String> it = set.iterator();
40         while(it.hasNext()) {  // hasNext 判断是否还有下一个元素
41             // 获取当前元素的下一个元素
42             System.out.println(it.next());  //100 200 300  
43         }
44     }
45 
46 }

 

posted @ 2020-03-09 19:44  技术狂-CYL  阅读(276)  评论(0)    收藏  举报