我有问题,我想在bufferreader socket
中的最后一个元素之前获取message = bufferedReader.readLine()
我想获得此输出
exemple bufferreader消息包含:[Ajay,Becky,Chaitanya,Dimple,Rock] 在Last元素之前: 凹坑
答案 0 :(得分:2)
if (al != null && al.size()>=2) {
System.out.println("Last element is:");
System.out.println(al.get(al.size()-2));
}
因为list.size()-1
是最后一个元素。
所以list.size()-2
是前一个元素。
在数组或集合中,索引开始为0
,因此最后一个元素是array/collection -1
的大小。
关于你的第二个问题:
我在socket bufferreader中遇到问题
我希望在消息之前获得最后消息
message = bufferedReader.readLine()
你不是在阅读消息而是在这里排队。如果你想识别前一行,你可以通过假设你至少有2个元素来阅读。
String[] lastTwoElements= new String[2];
String currentLine;
while ((currentLine=br.readLine()) != null) {
String oldLastElement = lastTwoElements[1];
lastTwoElements[1] = currentLine;
lastTwoElements[0] = oldLastElement;
}
lastTwoElements[0]
是前一个读取行。
lastTwoElements[1]
是最后一行。
答案 1 :(得分:0)
if (al != null && !al.isEmpty()) {
System.out.print("ArrayList contains: ");
for(int i =0; i <a1.size(); i++){
System.out.print(a.get(i) + ", ");
}
System.out.println("\nbefore Last element is: "+a1.get(a1.siz2() - 2));
}