如何读取ArrayList中的所有对象?

时间:2012-03-13 21:30:34

标签: java

我有一个客户端的ArrayList,有人可以告诉我如何编写一个循环并让每个客户端进入arraylist

List<Client> Clients = new ArrayList<Client>();

2 个答案:

答案 0 :(得分:3)

for(Client client: Clients) {
  //work here with client
}

BTW by Java中的约定变量名称应以小写(clients)开头。

答案 1 :(得分:1)

有很多方法可以通过ArrayList实现循环。使用的三种最常见的方式是:

案例1:传统的for循环

for(int i=0; i<clients.size; i++){
    clients.get(i).doSomeMethod(); //Code to work with individual client here
}

在需要元素的索引时使用。当您希望迭代多个集合时也很有用。可用于修改当前索引元素或您知道索引的任何元素。总而言之,程序员可以更好地控制下面列出的方法。

案例2:'增强'for循环 - 也称为'for-each'循环

for(Client client: Clients) {
  client.doSomeMethod(); //Code to work with a client here    
}

增强的for循环不能用于所有内容;例如,当您遍历Collection(在本例中为ArrayList)时,它们不能用于删除元素,如果您尝试循环遍历多个集合,它们也没有用处。当你想要以倒数第一的顺序遍历ArrayList并且不需要当前元素的索引时,它们最有用。

案例3:迭代器方法:

Iterator<Client> itr = clients.iterator(); 
while(itr.hasNext()) {
    Client myClient = itr.next(); 
    myClient.doSomeMethod()//Code to work with myClient here
} 

这种方法几乎就是增强的for循环在底层所做的,并且为了完整性而添加了。