6

私はSortedSetをこのように定義しています:

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

そして私はRatedMessage[]の配列を持っています

セットにシリアル化機能がないため、配列を使用する必要がありました。次に、配列を再構築する必要があります。

配列からセットにすべてのアイテムを再度追加する簡単な方法はありますか?

4

3 に答える 3

10
Collections.addAll(messageCollection, array);

機能的にはMichaelの答えと同じですが、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

TreeSetでArrays.asListを使用して、 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 に答える