Java >> Java Tutorial >  >> Tag >> ArrayList

Arraylist mit Integers und Strings

Sie können dies wie folgt tun, müssen aber auf Generika für den Listencontainer verzichten.

List<List> listOfMixedTypes = new ArrayList<List>();

ArrayList<String> listOfStrings = new ArrayList<String>();
ArrayList<Integer> listOfIntegers = new ArrayList<Integer>();

listOfMixedTypes.add(listOfStrings);
listOfMixedTypes.add(listOfIntegers);

Aber ein besserer Weg wäre, einen Map zu verwenden um die beiden Listen im Auge zu behalten, da der Compiler Sie nicht mehr daran hindern könnte, Typen zu mischen, wie z. B. einen String in eine Integer-Liste einzufügen.

Map<String, List> mapOfLists = new HashMap<String, List>();

mapOfLists.put("strings", listOfStrings);
mapOfLists.put("integers", listOfIntegers);

mapOfLists.get("strings").add("value");
mapOfLists.get("integers").add(new Integer(10));

Wenn es vermeidbar ist, vermeiden Sie bitte diese Liste von Objekttypen. Gehen Sie für einzelne Listen.

Wenn nicht, sollten Sie sich für den Typ Object entscheiden

List<Object> list = new ArrayList<Object>();

die alle Typ-Objekte akzeptieren, aber beim Abrufen vorsichtig sein müssen.

Prüfen der Objekte beim Abrufen

for (Object obj: list) {
    if (obj instanceof String){
        // this  is string 
    } else if (obj instanceof Integer) {
       // this  is Integer 
    }
}

List<Object> oList=new ArrayList<Object>();

Java-Tag