0 java sockets string inputstream arraylist
我的输入来自socketusing DataInputSteam,因为我可以将多个不同的字符串值全部分配给同一个clientDayOfWeek字符串,所以我无法弄清楚如何将所有传入的字符串值保存到同一字符串中ArrayList而不替换最后一个值。如果可能的话,我也希望不重复。
Socket socket = null;
DataInputStream dataInputStream = null;
dataInputStream = new DataInputStream(
socket.getInputStream());
String clientDayOfWeek = dataInputStream.readUTF();
ArrayList<String> ar = new ArrayList<String>();
String temp = clientDayOfWeek;
ar.add(temp);
System.out.print("Items in list: "+ ar);
Run Code Online (Sandbox Code Playgroud)
您可以检查是否List.contains(Object)已经String喜欢,
List<String> ar = new ArrayList<>();
if (!ar.contains(clientDayOfWeek)) {
ar.add(clientDayOfWeek);
}
Run Code Online (Sandbox Code Playgroud)
或者,只需使用 a LinkedHashSet(假设您想保留插入顺序),例如
Set<String> ar = new LinkedHashSet<>();
ar.add(clientDayOfWeek);
Run Code Online (Sandbox Code Playgroud)
如果您不需要保留订单,我更喜欢TreeSet.
| 归档时间: |
|
| 查看次数: |
10370 次 |
| 最近记录: |