1.公式文書の解釈
パブリック静的<T>リスト<T> asList(T ...)
固定サイズのリストの指定された配列によって返されます。(変更リストに戻る「書き込みアレイ。」)アレイとCollection.toArray(と組み合わせて、APIのセットに基づく)との間のブリッジに基づく方法として。返されるリストは直列化され、ランダム・を実装しています。
また、このメソッドは、初期化リストのための固定サイズを作成するための便利な方法は、いくつかの要素が含まれて提供されます。
一覧<文字列>大将=は、Arrays.asList( "ラリー"、 "萌え"、 "カーリー");
この方法では、3つのブラシLeetCodeと使用の数です。
1つの インポートjava.util.ArrayListの。 2 インポートjava.util.Arrays。 3 インポートはjava.util.List; 4 5 クラスソリューション{ 6 パブリック 静的リスト<リスト<整数>> threeSum(INT [] NUMS){ 7 リスト<リスト<整数>>結果= 新規のArrayList <> (); 8 INT LEN = nums.length。 9 もし(NUMS == NULL || LEN <3 ) 10 リターン結果。 11 は、Arrays.sort(NUMS)。 12 のための(INTが I 0 =; I <LEN; I ++ ){ 13 であれば(NUMS [I]> 0 ) 14 ブレーク。 15 もし(I> 0 && NUMS [I] == NUMS [I - 1])// 去重 16 続けます。 17 // 双指针 18 のint L = I + 1 。 19 INT R = LEN - 1 。 20 一方(L < R){ 21 int型の和= NUMS [I] + NUMS [L] + NUMS [R]。 22 であれば(和== 0 ){ 23 result.add(は、Arrays.asList(NUMS [I]、NUMS [L]、NUMS [R&LT])); // 使用asList()Listオブジェクトにコンマで区切られたリスト要素の方法 24 ながら(L <R&LT && NUMS [L] == NUMS [L用+ 1 ]) 25 L ++ ; 26は 、一方(L <R&LT && NUMS [R&LT] == NUMS [R&LT - 1。]) 27 r--の; 28 L ++ ; 29 r--の、 30 } 他 IF(SUM <0 ){ 31は L ++ ; 32 }そう であれば(和> 0 ){ 33 r--の。 34 } 35 } 36 } 37 リターン結果。 38 } 39 } 40 41 パブリック クラスThreeSum { 42 43 公共 静的 ボイドメイン(文字列[]引数){ 44 溶液S = 新しいソリューション()。 45件 のint NUMS [] = {-1,0,1,2、-4 }。 46 のSystem.out.println(s.threeSum(NUMS))。 47 } 48 49 }
人気の少し説明2.「Javaプログラミングのアイデア」:
Arrays.asList()メソッドは、配列またはエレメントのカンマ区切りリスト(可変パラメータ)を受け取り、リストオブジェクトへの変換、それを。
コード例:
1コレクション<整数> =コレクション新しい新規のArrayList <整数>(は、Arrays.asList(1,2 ,. 3 ,. 4 ,. 5。 )); 2整数[] = {moreInts 6 ,. 7 ,. 8 ,. 9、10 }; 3 コレクション。 addAll(は、Arrays.asList(moreInts)); 4 。5一覧<整数> =は、Arrays.asListリスト(16 ,. 17、18、20 ,. 19である) 。6 list.set(1、99); // 変更要素があってもよい 7 / / List.add(21である); // 追加要素ではありません。アレイは、その底部で表されているので、この時点では、サイズ変更することができません
また、制限は、Arrays.asList()メソッドは、それが生成したタイプで最良の仮説のリストを作りますが、与えられます、それはあなたが入力した内容に注意を払っていません。時には、これは問題を引き起こす可能性があります。このような継承クラスとして、詳細なコード例は、「Javaプログラミングのアイデア」の章XIホールドオブジェクトを参照してください。