Java - 从 ArrayList 中删除最后一个已知项目

标签 java arraylist

好的,这是我的ArrayList:

private List<ClientThread> clients = new ArrayList<ClientThread>();

这就是我想要做的:
我正在尝试从上面发布的 ArrayList 中删除最后一个已知项目。我正在尝试使用以下代码执行此操作:

    } 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());
}

但我收到此错误:

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

我做错了什么? 它应该从我的 ArrayList 中删除最后一个已知项目。

最佳答案

应该是:

ClientThread hey = clients.get(clients.size() - 1);
clients.remove(hey);

或者你可以这样做

clients.remove(clients.size() - 1);

减号是因为size()返回的是元素个数,但是ArrayList的第一个元素的索引是0而不是1。

关于Java - 从 ArrayList 中删除最后一个已知项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3515496/

相关文章:

java - JSP获取客户端IP地址

java - Hikari 内存中 HSQL 连接池

java - 在类的一个实例上找不到公共(public)符号变量 (Java)

java - 如何提高Java多线程性能?从 NoSQL 数据库(如 Redis)与 ArrayList 保存/加载数据的时间效率?

c# - Java通过反射创建通用Arraylist

java - 如何使用 ArrayList 中某个元素的字段值查找该元素?

java - 是否有一种不太详细的方法来默默地忽略 Java 单元测试中的特定嵌套异常?

java - 如何序列化和反序列化 arrayList 对象?

java - Arraylist 无法删除重复字符串

java - 比较来自 CSV 的两个数组列表