以下は、Java 配列操作のトップ 10 メソッドを注意深くコンパイルしたものです。コードのほとんどは Stack Overflow からのものです。
0. Java配列を定義する
String[] aArray = new String[5];
String[] bArray = {"a","b","c", "d", "e"};
String[] cArray = new String[]{"a","b","c","d","e"};
1つ目は配列を定義し、配列の長さを指定することです。ここではそれを動的定義と呼びます。
2番目と3番目のタイプはメモリ空間を割り当て、値も初期化します。
1. Java 配列の要素を出力します
int[] intArray = { 1, 2, 3, 4, 5 }; String intArrayString = Arrays.toString(intArray); // print directly will print reference value System.out.println(intArray); // [I@7150bd4d System.out.println(intArrayString); // [1, 2, 3, 4, 5]
ここでの焦点は、Java における配列の参照と値の違いを示すことです。3 行目は intArray を直接出力しており、intArray は文字化けしたコードになっています。単なるアドレス参照です。 4 行目は Arrays.toString() によって変換されているため、実数の配列値を出力します。 Java 初心者にとって、参照と値には依然として注意を払う必要があります。
2. ArrayからArrayListを作成
String[] stringArray = { "a", "b", "c", "d", "e" }; ArrayList<String> arrayList = new ArrayList<String>(Arrays.asList(stringArray)); System.out.println(arrayList); // [a, b, c, d, e]
なぜArrayをArrayListに変換する必要があるのでしょうか?おそらく ArrayList は動的リンク リストであるため、ArrayList に各要素を追加するために Array をループする必要がなく、上記のコードを使用することで簡単に変換を行うことができます。
3. 配列に特定の値が含まれているかどうかを確認します
String[] stringArray = { "a", "b", "c", "d", "e" }; boolean b = Arrays.asList(stringArray).contains("a"); System.out.println(b); // true
まず Arrays.asList() を使用して Array を List
4. 2つの配列を接続する
int[] intArray = { 1, 2, 3, 4, 5 }; int[] intArray2 = { 6, 7, 8, 9, 10 }; // Apache Commons Lang library int[] combinedIntArray = ArrayUtils.addAll(intArray, intArray2);
ArrayUtilsはApacheが提供する配列処理ライブラリで、そのaddAllメソッドで簡単に2つの配列を1つの配列に接続できます。
5. 配列の内部リンクを宣言します
method(new String[]{"a", "b", "c", "d", "e"});
6. 配列内の要素を文字列として出力します
// containing the provided list of elements // Apache common lang String j = StringUtils.join(new String[] { "a", "b", "c" }, ", "); System.out.println(j); // a, b, c
また、StringUtils の join メソッドを使用して、配列内の要素を文字列として出力します。
7. 配列をSetコレクションに変換
Set<String> set = new HashSet<String>(Arrays.asList(stringArray)); System.out.println(set); //[d, e, b, c, a]
JavaでSetを使うと、主に表示リストで使われるコレクション型として必要な型を変数に簡単に保存できます。最初に配列をリストに変換してから、リストをセットに変換することもできます。
8. 配列反転
int[] intArray = { 1, 2, 3, 4, 5 }; ArrayUtils.reverse(intArray); System.out.println(Arrays.toString(intArray)); //[5, 4, 3, 2, 1]
引き続きユニバーサルArrayUtilsを使用します。
9、从数组中移除一个元素
int[] intArray = { 1, 2, 3, 4, 5 }; int[] removed = ArrayUtils.removeElement(intArray, 3);//create a new array System.out.println(Arrays.toString(removed));
再补充一个:将一个int值转化成byte数组
byte[] bytes = ByteBuffer.allocate(4).putInt(8).array(); for (byte t : bytes) { System.out.format("0x%x ", t); }