11.3 集合Set
Set是集合,它的最大特点是不能存在两个相同的值,Set通常使用HashSet这个实现,两者都在java.util包里,需要导入。
它常用方法是添加到集合、从集合删除、判断是否在集合中:
返回类型 | 函数名及参数 | 说明 | 示例 |
---|---|---|---|
boolean | add(Object o) | 添加元素到集合,元素类型必须和集合类型一致,成功后返回true | set.add("good") |
boolean | remove(Object o) | 从集合中删除元素,成功后返回true,否则返回false | set.remove("good") |
boolean | contains(Object o) | 判断元素是否存在集合中,存在则返回true。元素比较是否相等,需要这个类型重载equals方法 | set.contain("ok"),如果set里包含“ok”,那么返回true,否则返回false |
Set使用和List一样,需要指定类型。例如下面的代码:
Set<String> set=new HashSet();set.add("a");set.add("b");set.add("a");set.add("c");for(String temp:set){ System.out.println(temp);}
这段代码将会打印a、b、c,而不是a、b、a、c
对以下场景,使用Set就方便很多了。
几个集合,可能有重复数据,找到它们中所有的不重复数据。
如果是用List来记录,那最终统计就可能出现相同值。如果要规避相同值,需要比Set做多一次校验:查找这个值是否已经在List中。