给出数字字符串[1,3,5,0,2,0,0,0]
的列表。有没有办法删除最后一个0,以获取[1,3,5,0,2]
,如果可能的话,可以使用流。
答案 0 :(得分:2)
我没有理由在这种情况下使用流。以下代码段简短明了。我会推荐你这种方式。
String[] stringarray = { "1", "3", "5", "0", "2", "0", "0", "0" };
List<String> strings = new ArrayList<>(Arrays.asList(stringarray));
while (strings.get(strings.size() - 1).equals("0")) {
strings.remove(strings.size() - 1);
}
答案 1 :(得分:1)
如果您至少使用Java9:
List<String> inputList = ...
Predicate<String> predicate = ...
List<String> result = new ArrayList<>(inputList);
Colledtions.reverse(result);
result = result.stream
.dropWhile(predicate)
.collect(toList());
答案 2 :(得分:0)
一个简单的解决方案
String[] stringarray = { "1", "3", "5", "0", "2", "0", "0", "0" };
int count = 0;
for(int i = stringarray.length; i > 0; i--) {
if("0".equals(stringarray[i-1])) {
count ++;
} else {
break;
}
}
String[] result = Arrays.copyOf(stringarray, stringarray.length - count);