英文:
Remove empty / null element from List
问题
你好,我一直在尝试从列表中删除空/ null 元素,尝试了多种方法,不确定是否有遗漏的地方。
public String getString() {
List<String> result = new ArrayList<>();
List<String> string1 = getDateResult();
List<String> string2 = getStringResult();
List<String> string3 = getNumberResult();
List<String> string4 = getBookResult();
result.add(string1);
result.add(string2);
result.add(string3);
result.add(string4);
// 以下是我已经尝试过的方法,但不起作用
result.removeIf(List::isEmpty);
result.removeAll(Arrays.asList(null, ""));
return result;
}
示例输入
2020-08-10,你好,,Book1 --> 无法删除空字符串。
英文:
Hello i have been trying to remove empty / null element from List , have tried multiple things . not sure if i am missing something.
public String getString() {
List<String> result = new ArrayList<>();
List<String> string1 = getDateResult();
List<String> string2 = getStringResult();
List<String> string3 = getNumberResult();
List<String> string4 = getBookResult();
result.add(string1);
result.add(string2);
result.add(string3);
result.add(string4);
// below are the things I already tried doesnt work
result.removeIf(List::isEmpty);
result.removeAll(Arrays.asList(null,""));
return result;
}
Example Input
2020-08-10 , Hello , , Book1 --> cant remove / delete the empty String.
答案1
得分: 2
如果您想要移除 List<List<String>>
中的空列表或空元素,
result.removeIf(list -> list == null || list.isEmpty());
或者如果您想要从内部列表中移除空元素,
result.forEach(list -> list.removeIf(ele -> ele == null || ele.isEmpty()));
英文:
If you want to remove null or empty List inside List List<List<String>>
result.removeIf(list->list==null || list.isEmpty());
or if you want to remove null or empty elements from inner lists
result.forEach(list->list.removeIf(ele->ele==null || ele.isEmpty()));
答案2
得分: 0
如果您想将一个列表添加到另一个列表中,可以使用addAll(..)
方法。
这假设您不会在创建string1、string2
列表的任何方法的结果中得到null
。
result.addAll(string1);
result.addAll(string2);
由于result
是一个List<String>
,您现在可以使用removeIf
方法从您的result
中移除任何无效的字符串。
如果您愿意使用Apache工具,您可以使用StringUtils.isBlank(str)
函数。
英文:
If you want to add one list into another use the addAll(..)
method.
This assumes that you don't get a null
back as a result of any method that creates string1, string1
lists.
result.addAll(string1); result.addAll(string2); ...
As result
is a List<String>
, you can now use the removeIf
method to remove any invalid strings from you result
.
If you are open to using Apache utils you can use the StringUtils.isBlank(str)
通过集体智慧和协作来改善编程学习和解决问题的方式。致力于成为全球开发者共同参与的知识库,让每个人都能够通过互相帮助和分享经验来进步。
评论