2014-01-10 3 views
-2

Я хочу создать 3 ArrayLists из некоторых массивов, как показано ниже:Создания ArrayList из Массивы

([x,y]) ([x1,y1],[x2,y2],[x3,y3]) ([m1,n1],[m2,n2],[m3,n3],[m4,n4],[m5,n5]) 

Вот код, связанный с этой частью:

public static ArrayList<Double[]>[] hexpos = (ArrayList<Double[]>[])new ArrayList[3]; 


     for (int i = 0; i < 3; i++) 
     hexpos[ i ] = new ArrayList<Double[]>(); 

// ====== ============== начальные arraylist1

 Double[] t = new Double[2]; 
    t[0]=x; 
    t[1]=y; 
    hexpos[0].add(t); 
    System.out.println("xtest"+ hexpos[0].get(0)[0]); 
    System.out.println("ytest"+ hexpos[0].get(0)[1]); 

// ======================== начальная arraylist2

 int count=1;  
    t = new Double[2]; 
    t[0]=x; 
    t[1]=y-(2*r); 
    hexpos[count].add(t); 

    t = new Double[2]; 
    t[0]=x+(3*s/2); 
    t[1]=y-r; 
    hexpos[count].add(t); 

    t = new Double[2]; 
    t[0]=x+(3*s/2); 
    t[1]=y+r; 
    hexpos[count].add(t); 
    count++; 

// ======================== начальная arraylist3

t = new Double[2]; 
    t[0]=x; 
    t[1]=y-(4*r); 
    hexpos[count].add(t); 

    t = new Double[2]; 
    t[0]=x+(3*s/2); 
    t[1]=y-(3*r); 
    hexpos[count].add(t); 


    t = new Double[2]; 
    t[0]=x+(3*s); 
    t[1]=y-(2*r); 
    hexpos[count].add(t); 


    t = new Double[2]; 
    t[0]=x+(3*s); 
    t[1]=y; 
    hexpos[count].add(t); 

Я просто распечатать первый ArrayList в качестве примера : Выход: xtest 400 ytest 400 xtest 400 ytest 400 xtest 400 ytest 400 Проблема в том, почему он повторяет 3 раза !!!

+0

Какой размер у вас есть? какой результат вы ожидаете? какой результат вы получаете? – neoprez

+0

Что значит «называет первых членов 3 раза»? Ты уверен? Можете ли вы показать нам контекст, в котором вы его используете? –

+0

Thx за добрый ответ, я добавил более подробную информацию о коде и выводит сообщение! – user3180204

ответ

3

Попробуйте Arrays.asList

String arr1[] = {"111","poo","cfggg"}; 
String arr2[] = {"vfv","poc","cdegg"}; 

ArrayList<String> arrayList1 = new ArrayList<String>(); 
arrayList1.addAll(Arrays.asList(arr1)); 

ArrayList<String> arrayList2 = new ArrayList<String>(); 
arrayList2.addAll(Arrays.asList(arr2)); 

System.out.println(arrayList1); 
System.out.println(arrayList2); 
+0

Благодарим вас за ответ, но их можно создать как массив arraylist !!? – user3180204

Смежные вопросы