两种向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 进行排序。
import java.util.ArrayListimport java.util.Iterator
import java.util.List
public class TestBaiduKnow {
public static void main(String[] args) {
List<Object> a = new ArrayList<Object>()
a.add("1")
a.add("2")
a.add("3")
a.add("4")
a.add("5")
List<Object> b = new ArrayList<Object>陵物局()
b.add(6)
b.add(7)
b.add(8)
b.add(9)
List<Object> c = new ArrayList<Object>()
Object[] aa = a.toArray()
Object[] ba = b.toArray()
int cnt = 0
int i = 0
int j = 0
while (i < aa.length) {
c.add(aa[i])
cnt += 1
if (cnt % 2 == 0 && j < ba.length) {
c.add(ba[j])
cnt = 0
j += 1
}
i += 1
if (i == aa.length) {
while (j <蚂和 ba.length) {
c.add(ba[j])
j += 1
}
}
}
a.clear()
a = c
Iterator<Object> 尺让it = a.iterator()
while (it.hasNext()) {
System.out.print(it.next() + " ")
}
}
}
C#.NET的集合主要位于System.Collections和System.Collections.Generic(泛型)这两个namespace中。
1、System.Collections
比如ArrayList,其Add(继承自接口IList)和AddRange方法可用于想集合中添加元素。
代码示例:
(1)Add:添加单个元素
ArrayList myAL = new ArrayList()myAL.Add( "The" )
myAL.Add( "quick"蠢明饥 )
myAL.Add( "brown" )
myAL.Add( "fox" )
(2)AddRange:带返添加实现了ICollection接口的一个集合的所有元素到指定集合的末尾
ArrayList myAL = new ArrayList()myAL.Add( "The" )
myAL.Add( "quick" )
myAL.Add( "brown" )
myAL.Add( "fox" )
Queue myQueue = new 槐燃Queue()
myQueue.Enqueue( "jumped" )
myQueue.Enqueue( "over" )
myQueue.Enqueue( "the" )
myQueue.Enqueue( "lazy" )
myQueue.Enqueue( "dog" )
myAL.AddRange( myQueue )
2、System.Collections.Generic
泛型同样也有Add(继承自ICollection<T>)和AddRange两个方法。
代码示例:
(1)Add:添加单个元素
List<string> dinosaurs = new List<string>()dinosaurs.Add("Tyrannosaurus")
dinosaurs.Add("Amargasaurus")
dinosaurs.Add("Mamenchisaurus")
dinosaurs.Add("Deinonychus")
dinosaurs.Add("Compsognathus")
(2)AddRange:添加实现了接口IEnumerable<T>的一个泛型集合的所有元素到指定泛型集合末尾
string[] input = { "Brachiosaurus", "Amargasaurus", "Mamenchisaurus" }List<string> dinosaurs = new List<string>(input)
dinosaurs.AddRange(dinosaurs)
参考资料:
http://msdn.microsoft.com/zh-cn/library/system.collections(v=vs.100).aspx
http://msdn.microsoft.com/zh-cn/library/system.collections.generic(v=vs.100).aspx
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)