OK, also hier ist mein ArrayList
:Java - entfernen letzte bekannte Position aus Arraylist
private List<ClientThread> clients = new ArrayList<ClientThread>();
und hier ist das, was ich zu tun versucht:
Ich versuche, die letzte bekannte Position aus den ArrayList
zu entfernen Ich habe oben gepostet. Ich versuche, diese unten mit dem Code zu tun:
} catch(SocketException re) {
String hey = clients.get(clients.size());
ClientThread.remove(hey);
System.out.println(hey + " has logged out.");
System.out.println("CONNECTED PLAYERS: " + clients.size());
}
aber ich bin immer diese Fehlermeldung:
C:\wamp\www\mystikrpg\Server.java:147: incompatible types
found : Server.ClientThread
required: java.lang.String
String hey = clients.get(clients.size());
^
C:\wamp\www\mystikrpg\Server.java:148: cannot find symbol
symbol : method remove(java.lang.String)
location: class Server.ClientThread
ClientThread.remove(hey);
^
2 errors
Was mache ich falsch? Es soll den letzten bekannten Artikel aus meiner ArrayList
entfernen.
Beachten Sie, dass Sie beim Überschreiben von '.equals()' möglicherweise die letztere Version verwenden möchten, um sicherzustellen, dass es wirklich das letzte Objekt ist, das entfernt wird. –
Ich glaube, Ihre erste Lösung würde nicht richtig funktionieren, wenn Duplikate in der Liste wären. Es kann jedoch auch Situationen geben, in denen Sie solche Funktionen wünschen. – Pijusn
Es sollte beachtet werden, dass das Entfernen eines Objekts aus einer Array-Liste O (n) ist. Der zweite Ansatz ist eine konstante Zeit. – Alexander