List als anonyme Klasse

Javt

Aktives Mitglied
Wie kann ich es realisieren, dass ich eine neue anonyme Klasse erstelle, die vom Typ "ArrayList" ist, intern eine Liste enthält und die Elemente dieser Liste dann umgekehrt zurückgibt?
 

Mujahiddin

Top Contributor
Java:
final List<Object> list = new ArrayList<>(){
    
    
    public Object get(int index) {
        return size() - index - 1;
    }

};
Das würde deine Liste umgekehrt ausgeben.
 

Javt

Aktives Mitglied
Naja wenn ich iterator() oder listIterator() z. B. Aufrufe sind wir ja wieder beim alten Problem. Wenn dann muss ich die beiden auch überladen oder? Und außerdem gibst du auch kein Objekt zurück, sondern eine Zahl.
 
Zuletzt bearbeitet:

Mujahiddin

Top Contributor
Ah, stimmt...
Du müsstest
Java:
return super.get(size() - index - 1);
machen, mein Fehler...
Ja, du müsstest die Methode
Code:
iterator()
bzw
Code:
listIterator()
überschreiben. Ansonsten wird es wohl nicht möglich sein.
 

Marco13

Top Contributor
Najadoch... man könnte eine AbstractList erstellen, die die eigentliche List als delegate verwendet. Dann braucht man nur get zu implementieren (und set, add und remove NUR falls die Liste veränderbar sein soll, was wohl nicht empfehlenswert wäre...)

EDIT: Wobei dann ein überschreiben von get wie im letzten Post auch schon reichen sollte: Die Iteratoren verwenden ja nur diese Methode...
 

Mujahiddin

Top Contributor
@Marco: meinst du etwa eine public Methode, die eine unmodifiable List invertiert zurückgibt?

Also sprich sowas:

Java:
private static final List<MyClass> myList;

public static final List<MyClass> getInvertedList() {
	return new AbstractList<MyClass>(){
		
		@Override
		public Object get(int index) {
			return myList.get( index );
		}
		
		@Override
		public int size() {
			return myList.size();
		}
		
	};
}
Ja, das würde in der Tat funktionieren.


Mal ne Frage dazu:
Könnte man irgendwo beim return-Statement angeben, dass es sich um eine Liste mit RandomAccess handelt?

Also von der Semantik her sowas wie
Code:
return new AbstractList<MyClass>() implements RandomAccess { ... };

Es würde ja höchstens sowas gehen:
Java:
public static final List<Object> getInvertedList() {
	class MyList extends AbstractList<Object> implements RandomAccess {
		@Override
		public Object get(int index) {
			return myList.get( index );
		}
		
		@Override
		public int size() {
			return myList.size();
		}
	}
	return new MyList();
}
 
Zuletzt bearbeitet:

Marco13

Top Contributor
Soweit ich weiß führt da nichts an der Definition einer eigenen Klasse (wie im zweiten Codestück) vorbei.

Halb-OT: Irgendwann hatte ich auch mal angefangen, * ein paar Utility-Klassen zu schreiben, mit denen man "solche Sachen" machen kann. Also eine umgedrehte Liste, eine geshuffelte Liste, eine Liste, die automatisch "wrappt" (mit sowas wie get(index%size())), und natürlich eine CompundList, die eine kombinierte Ansicht für mehrere Listen ist... Aber da kann man (wie so oft) beliebig weit gehen. Die meisten dieser Listen kann man ganz abstrakt und allgemein zurückführen auf eine Kombination aus einer Liste und einem "IndexMapper", der einen Index (geschuffelt, ge%t, invertiert...) auf einen anderen abbildet... (nicht ganz so trivial, wie es im ersten Moment aussieht, aber von der Idee her)... naja, aber solange man keinen konkreten Anwendungsfall hat, wirkt das schon leicht akademisch....

* Bei dem "angefangen" habe ich mal in meinen "Develop"-Ordner geschaut: Es sind inzwischen ~100 Projekte, und wirklich aktiv gepflegt und/oder weiterentwickelt werden wohl weniger als 10 :oops:
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
D Array List mit Objekten sortieren Java Basics - Anfänger-Themen 2
J Array.list vergleichen Java Basics - Anfänger-Themen 1
B Vektor vs List Java Basics - Anfänger-Themen 4
volcanos Addition -> List<Integer> mit Arrays.asList() versus List<Integer>ArrayList<>() Java Basics - Anfänger-Themen 14
H Interface Wieso "List<String> list = new ArrayList<>[…]" Java Basics - Anfänger-Themen 4
T Linked List set-Methode Java Basics - Anfänger-Themen 2
volcanos List & ArrayList nach Familiennamen abfragen Java Basics - Anfänger-Themen 57
berserkerdq2 Ich gebe eine ArrayList als List zurück per MEthode, wie kann ich nun aber die ArrayList speichern? Java Basics - Anfänger-Themen 46
L Datentypen Array List Java Basics - Anfänger-Themen 9
J Java List, Bitte um Hilfe Java Basics - Anfänger-Themen 15
J Java List, bitte um Hilfe Java Basics - Anfänger-Themen 3
F GSON file mit einer List erstellen Java Basics - Anfänger-Themen 2
B Interface List - Objekt übergeben? Einzelnes Objekt geht, aber Liste nicht? Java Basics - Anfänger-Themen 4
O Collections.sort und List.sort mit Lambda Verwirrung Java Basics - Anfänger-Themen 5
J String Array zu Map<Character, List<Character>> mit Streams Java Basics - Anfänger-Themen 1
G Linked list, Methode zum Vertauschen von Elementen Java Basics - Anfänger-Themen 14
I csv auslesen, mittels List Java Basics - Anfänger-Themen 18
C Collections List über Interface zugreifen Java Basics - Anfänger-Themen 32
I Methoden List.contains() beim 2. Element = true Java Basics - Anfänger-Themen 1
N HashMap in List good practice? Java Basics - Anfänger-Themen 2
B SWAP List; Liste neu anordnen Java Basics - Anfänger-Themen 4
W Stream Array List - Frage Java Basics - Anfänger-Themen 5
E Interface List nicht als Collection an erkannt. Java Basics - Anfänger-Themen 14
X Array List geordnet ausgeben. (JSF und JAVA) Java Basics - Anfänger-Themen 1
D new arraylist (List) dynamisch erstellen Java Basics - Anfänger-Themen 1
Yjuq Generic Methode - Wie muss die List Definition aussehen? Java Basics - Anfänger-Themen 3
M List<String> auswählen Java Basics - Anfänger-Themen 42
F In List Rekursiv suchen Java Basics - Anfänger-Themen 12
B Unterschied zwischen (List<T> a) und (T[] a) Java Basics - Anfänger-Themen 7
T HashSet in List-Object Java Basics - Anfänger-Themen 5
B ENUM to List<String> konvertieren Java Basics - Anfänger-Themen 2
E Array-list mit einer bestimmten Länge Java Basics - Anfänger-Themen 17
B Sorting List und Remove Java Basics - Anfänger-Themen 2
B String: suche nach Wörter und in List<String> speichern Java Basics - Anfänger-Themen 3
M Methode überladen - Array List Java Basics - Anfänger-Themen 5
L LIST.ADD Java Basics - Anfänger-Themen 2
M XWPF - Bullet Point list erstellen Java Basics - Anfänger-Themen 1
I <List> sortieren Java Basics - Anfänger-Themen 2
N Klassen List-Art Java Basics - Anfänger-Themen 5
S List<T<X,Y> sortieren Java Basics - Anfänger-Themen 5
Salo Datentypen "Doppelt" List(e) ("gesucht") Java Basics - Anfänger-Themen 6
F .csv Export aus einer list Java Basics - Anfänger-Themen 25
T KlausurÜbung- Förderband-Linked List Java Basics - Anfänger-Themen 53
D Komischer Fehler nach <Integer> List Java Basics - Anfänger-Themen 2
B in einem abstrakten Set ,Elemente einer einfache verkettete List epeichern Java Basics - Anfänger-Themen 13
T List und ArrayList Java Basics - Anfänger-Themen 3
UnityFriday method getPrevious in class List<ContentType> cannot be applied to given types Java Basics - Anfänger-Themen 29
hooked Verkettete Liste / linked list Java Basics - Anfänger-Themen 2
T Datentypen InputStream to list of Int (or similar) Java Basics - Anfänger-Themen 4
D Input/Output CSV Parser list unvollständig Java Basics - Anfänger-Themen 25
V Erste Schritte Dateinamen aus einer FIle[] in eine List Java Basics - Anfänger-Themen 11
S Methoden Linked List Methoden können nicht aufgerufen werden Java Basics - Anfänger-Themen 1
U JAXB - List wird nicht ausgefüllt Java Basics - Anfänger-Themen 1
L Linked List - Array List Java Basics - Anfänger-Themen 2
J Einfach verkettet List: Ausgabe ohne null Java Basics - Anfänger-Themen 11
D Bestimmten Wert aus Array List ausgeben Java Basics - Anfänger-Themen 7
V Personenverwaltung mit List<>, falsche Ausgaben Java Basics - Anfänger-Themen 5
M List befüllen Java Basics - Anfänger-Themen 3
S Datentypen List.toString wirft NullPointerException Java Basics - Anfänger-Themen 5
P Anlegen und Abfragen von Array List Java Basics - Anfänger-Themen 4
S Element von List<E> in String umwandeln Java Basics - Anfänger-Themen 3
A Wie nutze ich List<List<String>> Java Basics - Anfänger-Themen 4
M Endlos schleife in List Java Basics - Anfänger-Themen 5
P Zufallszahlen ohne zahlen einer List Java Basics - Anfänger-Themen 21
C Array List mit String vergleichen und Fehlermeldung ausgeben Java Basics - Anfänger-Themen 6
S Probleme bei Ausgabe von rekursiver Methode (List) Java Basics - Anfänger-Themen 16
T Tabstopp in AWT-List? Java Basics - Anfänger-Themen 8
P Doppelte Einträge in eine List Java Basics - Anfänger-Themen 5
M Wozu Upcasting? Am Beispiel List = ArrayList Java Basics - Anfänger-Themen 2
A List mit integern füllen Java Basics - Anfänger-Themen 4
D sortieren von List<> Java Basics - Anfänger-Themen 2
B List - Drag&Drop Java Basics - Anfänger-Themen 8
SexyPenny90 Implementierung einer doubly linked list Java Basics - Anfänger-Themen 5
G Linked List Programm add Problem Java Basics - Anfänger-Themen 5
C List Abfragenproblem Java Basics - Anfänger-Themen 3
H Collections List in List<SpecificType> als stat. generische Methode zurückgeben Java Basics - Anfänger-Themen 4
F Wozu braucht man array list? Java Basics - Anfänger-Themen 29
T Collections Wie funktioniert List() ? Java Basics - Anfänger-Themen 7
Kenan89 Java Date List Java Basics - Anfänger-Themen 4
tux20 Problem beim Schreiben von List to File Java Basics - Anfänger-Themen 2
K Frage Set List Java Basics - Anfänger-Themen 3
M Array List ausgeben Java Basics - Anfänger-Themen 13
C Typen aus List<Object[]> ändern Java Basics - Anfänger-Themen 7
S Gute List Implementation Java Basics - Anfänger-Themen 5
S Synchronisieren einer Linked List Java Basics - Anfänger-Themen 16
A List Array - wie instanzieren Java Basics - Anfänger-Themen 7
T List mit mehreren gleichen Strings bereinigen Java Basics - Anfänger-Themen 4
R List to BinaryTree Java Basics - Anfänger-Themen 13
P Set mit List vergleichen Java Basics - Anfänger-Themen 8
Binary.Coder List bzw. ArrayList als String ausgeben Java Basics - Anfänger-Themen 2
J Datentypen List - gleiche Einträge bei neuen Objekten Java Basics - Anfänger-Themen 31
T List.add(Object) führt zu NullPointerException Java Basics - Anfänger-Themen 14
M Collections Cast bei ArrayList (List) Java Basics - Anfänger-Themen 2
B List list - anstatt ArrayList list = new ArrayList Java Basics - Anfänger-Themen 10
H Remove Methode von List Java Basics - Anfänger-Themen 6
T Datentypen List<?> Java Basics - Anfänger-Themen 5
E Linked List generisch Java Basics - Anfänger-Themen 5
S Einen neuen String ohne Array oder List erzeugen??? Java Basics - Anfänger-Themen 13
S List angaben in textfelder Java Basics - Anfänger-Themen 7
D List<String[]> initialisieren Java Basics - Anfänger-Themen 4

Ähnliche Java Themen

Neue Themen


Oben