Arrays.sort() を使用して配列を昇順または降順に並べ替えます。
出典:
FreeCodeCamp この投稿では、Java で配列を昇順または降順に並べ替える方法を学びます。
Java では、配列を使用して、一連の変数 (同じデータ型) を 1 つの変数に格納します。ただし、配列に格納されている値がランダムな順序で表示される場合があります。
Java のArraysクラスのおかげで、配列を並べ替えるなど、配列を操作する方法がいくつかあります。
Arraysクラスから使用するメソッドの 1 つは、配列を昇順に並べ替える
sort()メソッドです。配列を降順に並べ替えるには、Java の
Collectionsクラスの
reverseOrder()メソッドを使用します。
Java で Arrays.sort() を使用して配列を昇順に並べ替える方法
ここでは、 sort()メソッドを使用して配列を昇順に並べ替える 方法の例を示します。
import java.util.Arrays;
class ArraySort {
public static void main(String[] args) {
int[] arr = { 5, 2, 1, 8, 10 };
Arrays.sort(arr);
for (int values : arr) {
System.out.print(values + ", ");
}
}
}
上記の例で最初に行ったのは、Arrays
クラスのインポートです。。
これにより、 Arraysクラスのすべてのメソッドにアクセスできるようになります。次に、ランダムな順序で数値を含む配列を作成しました。
int[] arr = { 5, 2, 1, 8, 10 }; 。この配列を昇順でソートするには、配列をパラメータとして
sort()メソッドに渡します。
Arrays.sort(arr); 。
Arraysクラスは、ドット表記を使用してsort()メソッドにアクセスする前に最初に記述されることに注意してください。最後に、ループを作成し、配列をコンソールに出力しました。結果は、ソートされた配列
1、2、5、8、10になります。次に、配列を降順でソートする方法について説明します。
Java で Collections.reverseOrder() を使用して配列を降順に並べ替える方法
配列を降順に並べ替えるには、
Collectionsクラスからアクセスできる
reverseOrder()を使用する必要があります。
今後もArrays.sort();を使用します。
ただし、この例では、並べ替える配列とCollections.reverseOrder()の 2 つのパラメーターを受け取ります。
import java.util.Arrays;
import java.util.Collections;
class ArraySort {
public static void main(String[] args) {
Integer[] arr = { 5, 2, 1, 8, 10 };
Arrays.sort(arr, Collections.reverseOrder());
for (int values : arr) {
System.out.print(values + ", ");
}
}
}
これらのクラスによって提供されるメソッドを使用するため、 最初に行ったのは
Arrays クラスと
Collectionsクラスをインポートすることでした。次に、ランダムな順序で数値の配列を作成しました。
Integer[] arr = { 5, 2, 1, 8, 10 }; 。ご覧のとおり、前の例のように
int[]の代わりに
Integer[]を使用しました。そうしないとエラーが発生します。配列を降順に並べ替えるには、次のようにしました。
Arrays.sort(arr, Collections.reverseOrder()); 。最初のパラメータは配列
arrで、昇順にソートされます。2 番目のパラメーター
Collections.reverseOrder()は、並べ替えられた配列の順序を逆にして降順にします。ループして出力すると、配列は
10, 8, 5, 2, 1のようになります。
結論
この記事では、Java での配列のソート、つまり配列を昇順または降順でソートする方法について説明しました。
これを行うには、 Arraysクラスからアクセスできる
sort()メソッドを使用できます。
sort()メソッドは、並べ替えるための配列をパラメータとして受け取ります。配列を降順に並べ替えるには、Collections クラスが提供する
reverseOrder()メソッドを使用しました。これは、 sort()メソッドの 2 番目のパラメーターとして渡されるため、ソートされた配列を降順に並べ替えることができます。
Java コレクション。List インターフェイスと Set インターフェイスの違いは何ですか?
出典:
Rrtutor List と Set は、 Collectionインターフェイス を拡張する Java インターフェイスです。この記事では、この 2 つの主な違いとその使用方法について説明します。
Java の Set インターフェイスと List インターフェイスの違い
次の主要なパラメータに基づいて、
List インターフェイスと
Setインターフェイスの主な違いを定義しましょう。
実装
List はArrayListsを実装し、
HashSet はSetを実装します。
インデックス作成
ListIterator を使用すると、
List内で前後に移動できますが、
Set内では移動できません。代わりに Iterator を使用してください (これは
Listと
Setの両方で機能します)。
注文
Setインターフェイスは、特定のセット順序をサポートしません。
Set型のコレクションは、独自のルールに従ってすでに並べ替えられているため、そのまま並べ替えることはできません。
リストは順序付きリストです。オブジェクトは、リストに追加された順序で保存されます。リスト要素にはインデックスによってアクセスします。
ヌルオブジェクト
List には制限がなく、Null 値の追加がサポートされていますが、
Set では最大 1 つの Null 値が許可されます。
重複
List には重複を含めることができますが、
Set には重複を含めることはできません。Set では、すべての要素が一意である必要があるため、要素の重複は許可されません。重複した要素を
Setに挿入すると、既存の値は上書きされます。
List と Set をいつ使用する必要がありますか?
Set は、そのように設計されているため、一意の値を保存する必要がある場合に最適な選択肢です。ただし、重複があっても挿入順序を保持したい場合は、
Listが最適な選択です。
サンプルセット
import java.util.ArrayList;
import java.util.LinkedList;
import java.util.List;
public class ListExample {
public static void main(String[] args) {
List<String> al = new ArrayList<String>();
al.add("Rohit");
al.add("Panjab");
al.add("Kamir");
System.out.println("My ArrayList Items: ");
System.out.print(al);
List<String> ll = new LinkedList<String>();
ll.add("Shobit");
ll.add("Raul");
ll.add("Ketel");
System.out.println("\n My LinkedList Items: ");
System.out.print(ll);
}
}
例リスト
import java.util.HashSet;
import java.util.Set;
import java.util.TreeSet;
public class SetExample {
public static void main(String[] args) {
int myList[] = {60, 70, 80, 40 };
Set<Integer> dispSet = new HashSet<Integer>();
try{
for(int i = 0; i<4; i++){
dispSet.add(myList[i]);
}
System.out.println(dispSet);
TreeSet<Integer> treeset = new TreeSet<Integer>(dispSet);
System.out.println("Sorting in Asceding order:");
System.out.println(treeset);
}
catch(Exception e){
e.printStackTrace();
}
}
}
GO TO FULL VERSION