
两种向Set中添加元素的方法,第一种是使用add()方法,每次添加一个元素到set中,当集合中不存在相同元素时将添加到集合中,并返回true,当集合中存在元素时,返回false。代码如下:
Set<String>sets = new HashSet<>()
sets.add("String")
System.out.println(sets.add("Tree"))
System.out.println(sets.add("String"))
List<String>lists = new LinkedList<>()
lists.add("test")
lists.add("test")
lists.add("one")
System.out.println(sets.addAll(lists))
还有一个是向集合中批量添加元素的方法addAll(),这个方法的入参是Colletion。上述代码执行结果如下:
扩展知识
Set集合可以知道某物是否已近存在于集合中,不会存储重复的元素,注重独一无二的性质,用于存储无序(存入和取出的顺序不一定相同)元素,值不能重复。可以很好地作为排重时使用的数据结构,但要注意集合内部数据一般情况没有顺序。常用的set有HashSet和TreeSet。
TreeSet是JAVA中集合的一种,TreeSet 是一个有序的集合,它的作用是提供有序的Set集合。它继承于AbstractSet抽象类,实现了NavigableSet<E>,Cloneable,java.io.Serializable接口。一种基于TreeMap的NavigableSet实现,支持2种排序方式:自然排序 或者 根据创建TreeSet 时提供的 Comparator 进行排序。
set是一个接口,一般实现类用HashSet方法摘要
booleanadd(E e)
如果 set 中尚未存在指定的元素,则添加此元素(可选 *** 作)。
booleanaddAll(Collection<? extends E>c)
如果 set 中没有指定 collection 中的所有元素,则将其添加到此 set 中(可选 *** 作)。
voidclear()
移除此 set 中的所有元素(可选 *** 作)。
booleancontains(Object o)
如果 set 包含指定的元素,则返回 true。
booleancontainsAll(Collection<?>c)
如果此 set 包含指定 collection 的所有元素,则返回 true。
booleanequals(Object o)
比较指定对象与此 set 的相等性。
inthashCode()
返回 set 的哈希码值。
booleanisEmpty()
如果 set 不包含元素,则返回 true。
Iterator<E> iterator()
返回在此 set 中的元素上进行迭代的迭代器。
booleanremove(Object o)
如果 set 中存在指定的元素,则将其移除(可选 *** 作)。
booleanremoveAll(Collection<?>c)
移除 set 中那些包含在指定 collection 中的元素(可选 *** 作)。
booleanretainAll(Collection<?>c)
仅保留 set 中那些包含在指定 collection 中的元素(可选 *** 作)。
intsize()
返回 set 中的元素数(其容量)。
Object[]toArray()
返回一个包含 set 中所有元素的数组。
<T>
T[]toArray(T[] a)
返回一个包含此 set
中所有元素的数组;返回数组的运行时类型是指定数组的类型。
1、定义一个Set的对象Set set=new HashSet()//new 一个hashset2、往set中添加字符串数据数据
set.add("内容")//往set里添加一个字符串"内容"Set是最简单的一种集合,没有重复对象。Set接口主要实现了两个实现类:
HashSet
:
HashSet类按照哈希算法来存取集合中的对象,存取速度比较快
TreeSet
:
TreeSet类实现了SortedSet接口,能够对集合中的对象进行排序。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)