6

我有一个这样定义的 SortedSet:

SortedSet<RatedMessage> messageCollection = new TreeSet<RatedMessage>(new Comp());

我有一个 RateMessage[] 数组

我不得不使用数组,因为该集合错过了序列化功能,现在我需要将其构造回来。

有没有一种快速的方法可以将数组中的所有项目再次添加到集合中?

4

3 回答 3

10
Collections.addAll(messageCollection, array);

功能上与迈克尔的答案相同,但正如 javadoc 所说:

将所有指定元素添加到指定集合。要添加的元素可以单独指定,也可以作为数组指定。此便捷方法的行为与 c.addAll(Arrays.asList(elements)) 相同,但在大多数实现下此方法可能运行得更快。

于 2010-06-28T22:40:11.283 回答
5

Set有一个addAll方法,但它只需要一个集合,所以你需要先转换数组:

RatedMessage[] arr;
messageCollection.addAll(Arrays.asList(arr));
于 2010-06-28T22:37:41.243 回答
1

您可以使用Arrays.asListTreeSet将RatedMessage[]数组添加到SortedSet

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);
        }
于 2015-12-17T10:30:31.100 回答