我有这样定义的SortedSet:
SortedSet<RatedMessage> messageCollection = new TreeSet<RatedMessage>(new Comp());
我有一个RatedMessage []
数组我不得不使用数组,因为集合错过了序列化功能,现在我需要重新构建它。
有没有一种快速的方法可以将数组中的所有项目再次添加到集合中?
答案 0 :(得分:9)
Collections.addAll(messageCollection, array);
功能上与迈克尔的答案相同,但正如javadoc所说:
添加所有指定的元素 指定的集合。要素 可以单独指定添加 或者作为一个数组。这个行为 便利方法是一样的 那 c.addAll(Arrays.asList(元素)), 但这种方法可能会运行 大多数情况下显着更快 的实施方式。
答案 1 :(得分:5)
Set
有一个addAll
方法,但它只需要一个集合,所以你需要先转换数组:
RatedMessage[] arr;
messageCollection.addAll(Arrays.asList(arr));
答案 2 :(得分:1)
您可以使用 Arrays.asList 将 RatedMessage [] 数组添加到 SortedSet TreeSet
String RatedMessage[]={"1","2","3","1","4","3"};
SortedSet lst= new TreeSet(Arrays.asList(RatedMessage));
Iterator it = lst.iterator();
while(it.hasNext())
{
Object ob= it.next();
System.out.println(ob);
}