ArrayList  ArrayTest=new  ArrayList();  
             ArrayList  pub1=new  ArrayList();  
             pub1.add("A");  
             pub1.add("C");  
             ArrayList  pub2=new  ArrayList();  
             pub1.add("B");  
             pub1.add("D");  
             ArrayTest.add(pub1);  
             ArrayTest.add(pub2);  
             System.out.println(((List)ArrayTest.get(2)).get(1));  
要取得B,这样写不对..  
         写成  System.out.println(((List)ArrayTest.get(0)).get(3));可用  
但是我必须要以pub1以二维的形式存在ArrayTest中..请问这样怎么实现啊?

解决方案 »

  1.   

    System.out.println(((List)ArrayTest.get(2)).get(1));当然不对 ArrayTest只有2个元素 而get(2)是取第三个元素 哪取去?ArrayList  ArrayTest=new  ArrayList();  
    ArrayList  pub1=new  ArrayList();  
                 pub1.add("A");  
                 pub1.add("C");  
    ArrayList  pub2=new  ArrayList();  
                 pub2.add("B");  
                 pub2.add("D");  
                 ArrayTest.add(pub1);  
                 ArrayTest.add(pub2); 
      

  2.   

    你的B和D到底是在pub1中还是在pub2中?
    你要以pub1以二维的形式存在ArrayTest中?还是ArrayTest要定义成二维的?为什么还要这样定义个pub1和pub2?
    总之看不太明白。
      

  3.   

    如果要使ArrayTest要定义成二维的
    ArrayList  ArrayTest=new  ArrayList();  
                 ArrayList  pub1=new  ArrayList();  
                 pub1.add("A");  
                 pub1.add("C");  
                 ArrayList  pub2=new  ArrayList();  
                 pub2.add("B");  
                 pub2.add("D");  
                 ArrayTest.add(pub1);  
                 ArrayTest.add(pub2);  
                 System.out.println(((List)ArrayTest.get(1)).get(0));
      

  4.   

    不太明白搂主的意思
    是不是想这样呀(ArrayList中的下标是从0开始的)
    ArrayList  ArrayTest=new  ArrayList();  
            ArrayList  pub1=new  ArrayList();  
            pub1.add("A");  
            pub1.add("C");  
            ArrayList  pub2=new  ArrayList();  
            pub2.add("B");  
            pub2.add("D");  
            ArrayTest.add(pub1);  
            ArrayTest.add(pub2);  
            System.out.println(((List)ArrayTest.get(1)).get(0));
      

  5.   

    我二楼回帖里的程序
    System.out.println(((List)ArrayTest.get(0)).get(0)); //输出A
    System.out.println(((List)ArrayTest.get(0)).get(1)); //输出C
    System.out.println(((List)ArrayTest.get(1)).get(0)); //输出B
    System.out.println(((List)ArrayTest.get(1)).get(1)); //输出D
      

  6.   

    好像在ArrayList中加的话它会排序的吧。注意这一点,在这个问题中应该不会涉及到。
    也就是说 先add("A"),add("C"),add("C")
    最后它里从0到2的应该是"A","B","C"
      

  7.   

    也就是说 先add("A"),add("C"),add("B")
    最后它里从0到2的应该是"A","B","C"
      

  8.   

    我用的是jdk 6
    在我这里如二楼回复的;就算是
    System.out.println(((List)ArrayTest.get(0)).get(0)); //输出A
    System.out.println(((List)ArrayTest.get(0)).get(1)); //输出C
    System.out.println(((List)ArrayTest.get(1)).get(0)); //输出B
    System.out.println(((List)ArrayTest.get(1)).get(1)); //输出D我这里只能这样输出:System.out.println(((List)ArrayTest.get(0)).get(0)); //输出A
    System.out.println(((List)ArrayTest.get(0)).get(1)); //输出C
    System.out.println(((List)ArrayTest.get(0)).get(2)); //输出B
    System.out.println(((List)ArrayTest.get(0)).get(3)); //输出D所以我觉得奇怪啊!!!
      

  9.   

    楼主...................................................................................................ArrayList  ArrayTest=new  ArrayList();  
    ArrayList  pub1=new  ArrayList();  
                 pub1.add("A");  
                 pub1.add("C");  
    ArrayList  pub2=new  ArrayList();  
                 pub2.add("B");  //这一句
                 pub2.add("D");  //这一句
                 ArrayTest.add(pub1);  
                 ArrayTest.add(pub2); 看到和你的有什么不同了么?再用那4句输出试试~