两种向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 进行排序。
1 在一定程度上是没问题的2 Java中的Queue是一个接口,具体的实现类有很多,比如LinkedList、ArrayDeque等。
这些实现类在向队列中添加元素时,都有相应的容量限制,当达到容量上限时就会抛出异常。
但如果频繁添加数据,可能会导致队列的长度变得很长,从而占用大量的内存空间。
3 如果需要频繁添加数据,可以考虑使用具有自动扩容功能的队列,比如PriorityQueue或ConcurrentLinkedQueue。
这些队列在添加数据时,会自动扩容以容纳更多的元素,从而避免了容量限制的问题。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)