我有一个String表的数组列表,如下所示:
[Hello, , Jack] //String table[0]
[] // String table[1]
如何删除空元素和空元素:
[Hello, Jack] //String table[0]
答案 0 :(得分:2)
由于您有ArrayList<String[]>
,因此您可以使用Collection#removeIf
删除null
中的List
(或空)元素:
list.removeIf(table -> table == null || table.length == 0);
要从数组本身中删除null
或空元素,您必须在没有它们的情况下重建数组:
list.replaceAll(table -> Arrays.stream(table)
.filter(Objects::nonNull)
.filter(s -> !s.isEmpty())
.toArray(String[]::new);
答案 1 :(得分:0)
如果您不使用Java8 +,则可以执行以下操作:
List<String[]> list = new ArrayList<String[]>();
list.add(new String[]{"Hello", "", null, "Jack"});
list.add(new String[]{});
for(String[] array : list){
List<String> arrayList = new ArrayList<>(Arrays.asList(array));
arrayList.removeAll(Collections.singleton(null));
arrayList.removeAll(Collections.singleton(""));
array = arrayList.toArray(new String[arrayList.size()]);
System.out.println(Arrays.toString(array));
}