Visualizzazione dei risultati da 1 a 3 su 3
  1. #1

    [JAVA] ArrayList di interi

    Devo costruire un arraylist di interi, ho letto che si deve ricorrere alla classe Integer

    Arraylist<Integer> a = new ArrayList<Integer>

    Il mio problema è che gli interi da inserire nell'arraylist sono degli array di dimensione 2

    ho implementato il codice seguente:

    codice:
    int[] up = {0,1};
    int[] down = {0,-1};
    int[] right = {1,0};
    int[] left = {-1,0};
    ArrayList<Integer> lista = new ArrayList<Integer>;
    ma quando eseguo la linea di codice:
    codice:
    lista.add(up);
    ovviamente mi da l'errore: cannot find method add(int[])
    -Montanelli-: Ma lei evadeva quasi sempre, no?

    -Mesina-: Sì, ho la fortuna di avere i polsi più grossi delle mani...

  2. #2
    per corregere l'errore devi usare i costrutti di java5
    codice:
    ArrayList<int[]> array=new ArrayList<int[]>();
    altrimenti puoi semplicemente farti una classe che contiene un array di interi... che forse è più adatta al tuo scopo...
    codice:
    import java.util.ArrayList;
    
    public class MyArray {
    
    	private int[] array;
    
    	public MyArray()
    	{
    		this.array=new int[2];
    	}
    	
    	public String toString()
    	{
    		String ret="";
    		for (int i = 0 ; i < 2 ; i++)
    		{
    			ret+="Elemento in posizione "+i+" = "+this.array[i]+"\n";
    		}
    		return ret;
    	}
    	public boolean equals(Object o)
    	{
    		MyArray tmp=(MyArray)o;
    		for (int i = 0 ; i < 2 ; i++)
    		{
    			if (!(tmp.array[i]==this.array[i]))
    				return false;
    		}
    		return true;
    	}
    	
    	public MyArray(int[] array) {
    		this.array = new int[2];
    		this.array = array;
    	}
    
    	public int[] getArray() {
    		return array;
    	}
    
    	public void setArray(int[] array) {
    		this.array = array;
    	}
    	
    
    	public int getIntOfIndex(int index)
    	{
    		if (index==0 || index==1)
    			return this.array[index];
    		else
    			return -1;
    	}
    	
    	public void setInt(int n,int index)
    	{
    		this.array[index]=n;
    	}
    
    	public static void main(String[] args)
    	{
    		/*
    		 * banalmente creo una lista ed uno oggetto e lo stampo...
    		 */
    		ArrayList<MyArray> lista=new ArrayList<MyArray>();
    		MyArray m=new MyArray();
    		m.setInt(10,0);
    		m.setInt(20,1);
    		lista.add(m);
    		for (int i = 0 ; i < lista.size() ; i++)
    		{
    			System.out.println("Oggetto "+i+"della lista:\n"+lista.get(i)+"\n");		
    		}
    	
    	}
    }
    ciao
    stex1984

  3. #3
    Perfetto!! grazie!
    -Montanelli-: Ma lei evadeva quasi sempre, no?

    -Mesina-: Sì, ho la fortuna di avere i polsi più grossi delle mani...

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.