Как добавить в SortedSet элементы из массива? - PullRequest
6 голосов
/ 29 июня 2010

У меня SortedSet определен следующим образом:

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

и у меня есть массив RatedMessage []

Мне пришлось использовать массив, так как набор пропускает функцию сериализации, теперьМне нужно построить его обратно.

Есть ли быстрый способ добавить все элементы из массива в набор снова?

Ответы [ 3 ]

9 голосов
/ 29 июня 2010
Collections.addAll(messageCollection, array);

Функционально идентичен ответу Майкла, но, как сказано в javadoc:

Добавляет все указанные элементы в указанная коллекция. Элементы к быть добавлены могут быть указаны индивидуально или как массив. Поведение этого удобный метод идентичен тот c.addAll (Arrays.asList (элементы)), но этот метод может работать значительно быстрее под большинством Реализации.

5 голосов
/ 29 июня 2010

Set имеет метод addAll, но он принимает только коллекцию, поэтому вам нужно сначала преобразовать массив:

RatedMessage[] arr;
messageCollection.addAll(Arrays.asList(arr));
1 голос
/ 17 декабря 2015

Вы можете добавить RatedMessage [] массив в SortedSet , используя Arrays.asList с 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);
        }
...