我有一個套接字ArrayList。我如何從列表中刪除我在變量中的同一個套接字。例如:找到兼容套接字
sockets = new ArrayList<Socket>();
sockets.add(socket);
sockets.add(socket1);
sockets.add(socket2);
現在我想刪除它的索引,未知的socket1。
我有一個套接字ArrayList。我如何從列表中刪除我在變量中的同一個套接字。例如:找到兼容套接字
sockets = new ArrayList<Socket>();
sockets.add(socket);
sockets.add(socket1);
sockets.add(socket2);
現在我想刪除它的索引,未知的socket1。
雖然你不能完全提供您的代碼,但在這裏,我給你舉個例子,如何刪除從下面的數組列表中的項目..
// create an empty array list with an initial capacity
ArrayList<String> arrlist = new ArrayList<String>(5);
// use add() method to add values in the list
arrlist.add("A");
arrlist.add("B");
arrlist.add("C");
arrlist.add("D");
arrlist.add("E");
System.out.println("Size of list: " + arrlist.size());
// let us print all the values available in list
for (String value : arrlist) {
System.out.println("Value = " + value);
}
// Removes first occurrence of "C"
arrlist.remove("C");
System.out.println("Now, Size of list: " + arrlist.size());
// let us print all the values available in list
for (String value : arrlist) {
System.out.println("Value = " + value);
}
//又如
ArrayList<String> arlist=new ArrayList<String>();
//<E> it is return type of ArrayList
arlist.add("First Element"); // adding element in ArrayList
arlist.add("Second Element");
arlist.add("Third Element");
arlist.add("forth Element");
arlist.add("fifth Element");
// remove array list element by index number
arlist.remove(3);
// remove ArrayList element by Object value
arlist.remove("fifth Element");
// get elements of ArrayList
for(int i=0;i<arlist.size();i++)
{
System.out.println("ArrayList Element "+i+" :"+arlist.get(i));
}
此代碼:
import java.io.IOException;
import java.net.Socket;
import java.util.ArrayList;
import java.util.List;
public class RemoveSocketFromAList {
public static void main(String[] args) throws IOException {
List<Socket> sockets = new ArrayList<>(3);
Socket google = new Socket("www.google.com", 80);
Socket bing = new Socket("www.bing.com" , 80);
Socket yahoo = new Socket("www.yahoo.com" , 80);
sockets.add(google);
sockets.add(bing );
sockets.add(yahoo );
System.out.println(sockets.size());
sockets.remove(bing);
System.out.println(sockets.size());
System.out.println(sockets);
}
}
輸出:
3
2
[Socket[addr=www.google.com/74.125.230.243,port=80,localport=62411], Socket[addr=www.yahoo.com/87.248.122.122,port=80,localport=62413]]
List.remove()
是有效的。
所以你在ArrayList中有一堆套接字,並且你有一個'Socket'變量,你不知道它是哪一個,但是你想刪除它? – rgettman 2013-03-06 20:29:00
@rgettman是的。那我想做什麼 – Shelef 2013-03-06 20:34:13