Javaでオブジェクトコレクションを逆にする方法
この例では、<> が Collections: class: Collections.reverse() です。オブジェクトのコレクションとして LinkedList を選択しました。同じメソッドは、java.util.Collectionです。LinkedList インスタンスをパラメーターとして渡す必要があります。このメソッドは、リスト内の項目の順序を逆にするために使用されます。
Example:
このコードは、ArrayList、LinkedList、および Vector.
Example:
このコードは、ArrayList、LinkedList、および Vector.
import java.util.Collections;結果:
import java.util.LinkedList;
public class inverse_collection {
public static void main(String[] args) {
LinkedListllist = new LinkedList ();
llist.add("1");
llist.add("2");
llist.add("3");
llist.add("4");
System.out.println("反転前: "+llist);
Collections.reverse(llist);
System.out.println("反転後: "+llist);
}
}
反転前: [1, 2, 3, 4]java.util.Set および java.util.Map から継承するコレクションは、Collections.reverse() メソッドではサポートされていません。ただし、部分的な解決策は可能です:
反転後: [4, 3, 2, 1]
- Set インターフェイスのコレクションを使用して ArrayList のインスタンスを作成するか、Map
- ArrayList の Collections.reverse() メソッドを適用します
- Items を元のコレクションにコピーして戻すことはできません。何のため。Set インターフェイスは挿入順序を保証しないため
注: Map インターフェイスはキー/値のハッシュ テーブルです。つまり、要素の順序が保たれないため、結果をMapを実装するコレクションにコピーせずに、キーまたは値のいずれかを反転することしか選択できません. |
TreeSetの例:
import java.util.ArrayList;
import java.util.Collections;
import java.util.Iterator;
import java.util.List;
import java.util.TreeSet;
public class Intervert {
public static void main(String[] args) {
// TreeSet
TreeSettset = new TreeSet ();
// treesetに要素を追加
tset.add("a");
tset.add("b");
tset.add("c");
イテレータイテレータ = tset.iterator();
// TreeSet の表示
System.out.println("Treeset elements in ascending order: ");
while (iterator.hasNext()){
System.out.println(iterator.next());
}
Listlist = new ArrayList (tset);
Collections.reverse(list);
// 値を逆表示
System.out.println("The elements of treeset in reverse order: ");
for(String s:list)
System.out.println(s);
}
}
出力:
Treeset 要素を昇順で表示:
a
b
c
treeset 要素を逆の順序で表示:
c
b
a