2016-09-27 10 views
-3

私は..のArrayListのArrayListのを作成して、特定の親のインデックスとその逆に、子の要素を入れて任意のヒントarraylistのarraylistに要素を追加する方法はありますか?あなたはハッシュマップにArrayListに似た何かを探しているよう

import java.util.ArrayList; 
import java.util.Scanner; 

public class vertexCover { 

    int n; 
    static ArrayList<ArrayList<Integer>> arr = new ArrayList<>(); 
    static int s, e; 

    public static void main(String[] args) { 

     Scanner sc = new Scanner(System.in); 
     int n = sc.nextInt(); 
     for (int i = 0; i <= n; i++) { 
      int s = sc.nextInt(); 
      int e = sc.nextInt(); 
      ArrayList temp = new ArrayList(); 
      ArrayList temp2 = new ArrayList(); 
      temp.add(e); 
      arr.add(s, temp); 
      temp2.add(s); 
      arr.add(e,temp2); 
     } 
     for (int i = 0; i <= arr.size(); i++) { 
      for (int x = 0; x <= 5; x++) { 
       System.out.println(arr.get(i).get(x)); 
      } 
     } 
    } 
} 
+0

ここをクリックして詳しい案内をご覧ください:http://stackoverflow.com/questions/16956720/how-to-create-an-2d-arraylist-in-java – px06

+0

それらは: 'ArrayList temp = new ArrayList();'です。それはまた、関連リンクです。 – Tunaki

+0

@Tunakiはい私はそれを見ましたが、生のタイプを使うのではなく、何をすべきかを混乱させると思います。 – px06

答えて

0

をしてくださいしたいらしいです。

このお試しください:値を取得するにはmap.put(1, your array list)

:値を置くため

ConcurrentHashmap <Integer,ArrayList<Your type>> map = new ConcurrentHashmap<>(); 

map.get(1);

このアプローチは、あなたが探しているのと同じ方法で動作します。

注意:get()メソッドは、インデックスの代わりに値を取得するためにハッシュコードを使用します。

注意:java api https://docs.oracle.com/javase/7/docs/api/java/util/ArrayList.html#add(int,%20E)によれば、リストサイズより大きなインデックスに要素を追加することはできません。つまり、最初の99個のインデックスを埋めることなく、100番目のインデックスに追加することはできません。

関連する問題