Java - 从 ArrayList 中删除最后一个已知项 [英] Java - remove last known item from ArrayList

查看:34
本文介绍了Java - 从 ArrayList 中删除最后一个已知项的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

好的,这是我的ArrayList:

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

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

and here is what I am trying to do:
I am trying to remove the last known item from the ArrayList I posted above. I'm trying to do this with the code below:

    } 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 中删除最后一个已知项目.

What am I doing wrong? It's supposed to remove the last known item from my ArrayList.

推荐答案

应该是:

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

或者你可以这样做

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

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

The minus ones are because size() returns the number of elements, but the ArrayList's first element's index is 0 and not 1.

这篇关于Java - 从 ArrayList 中删除最后一个已知项的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆