我不确定如何返回arraylist(删除null子列表),以及删除非null子列表中的null项。如果list为Null,则返回空arraylist。这就是我到目前为止所做的。
public static ArrayList<ArrayList<Integer>> getClean(ArrayList<ArrayList<Integer>> list) {
if (list == null) {
return null;
}
ArrayList<ArrayList<Integer>> newList = new ArrayList<>();
for (int i = 0; i < list.size(); i++) {
ArrayList<Integer> alist = new ArrayList<>();
if (list.get(i) != null) {
for (int k = 0; k < list.get(i).size(); k++) {
if (list.get(i).get(k) != null) {
alist.add(list.get(i).get(k));
}
}
newList.add(alist);
}
}
return newList;
}
@Test @Graded(description="GetClean")
public void testGetClean() {
ArrayList<ArrayList<Integer>> result = ListOfListService.getClean(null);
assertFalse(result == null);
assertTrue(result.isEmpty());
String copy = listSameSize.toString();
result = ListOfListService.getClean(listSameSize);
assertEquals(copy, listSameSize.toString()); // have you modified the original list?
assertFalse(result == listSameSize); // Ensures result is an instance copy
assertEquals(result, listSameSize);
copy = list3_emptySubLists.toString();
result = ListOfListService.getClean(list3_emptySubLists);
assertEquals(copy, list3_emptySubLists.toString());
assertFalse(result == list3_emptySubLists);
assertEquals(result, list3_emptySubLists);
copy = list4_nullItems.toString();
result = ListOfListService.getClean(list4_nullItems);
assertEquals(copy, list4_nullItems.toString());
assertEquals("[[-1, -2, -1, 4, 5, 6, 7, 8, 9], [100, 200, 700, 900], [10, 20, 90], [20, 22]]", result.toString());
currentMethodName = new Throwable().getStackTrace()[0].getMethodName();
}
你可以试试这个。它将支持任何类型T
但返回ArraysLists
public static <T> List<List<T>> getClean(List<List<T>> lists) {
if (lists == null) {
return new ArrayList<List<T>>();
}
List<List<T>> cleaned = lists.stream()
.filter(Objects::nonNull)
.map(lst -> lst.stream().filter(Objects::nonNull)
.collect(Collectors.toList()))
.collect(Collectors.toList());
return cleaned;
}
如果您的原始列表包含以下六个列表。
null
null
[1, 2, 3, null, null, 4, 5]
[6, 7, 8, null]
null
null
这是将返回的内容
[1, 2, 3, 4, 5]
[6, 7, 8]
注:[2017年1月11日]RestInfoAdapter.java的源代码已经更改和更新(参见下面的第2项) 我一直在尝试通过保留原始输入列表的备份/副本来使我的搜索视图返回到原始列表。但是,它根本不起作用。我的这个问题包括使用自定义类的RecyclerView和ArrayList。 是一个名为<code>RestInfo 我是如何尝试的 适配器类,以便RestInfo可以呈现在卡片视图中(因此
问题内容: 该方法返回的表示形式。这里返回的对象是数组支持的,但不是对象。 我正在寻找对象返回值与对象之间的差异- 一种快速的来源,可以告诉它们而无需深入研究代码。 TIA。 问题答案: 当您调用Arrays.asList时,它不会返回。它返回一个由原始源数组支持的固定大小列表。换句话说,它是使用Java的基于集合的API公开的数组的视图。 您不能向其中添加元素,也不能从中删除元素。如果您尝试从中
有人能告诉我为什么列表返回空吗?我的xpath是准确的,因为我重新检查了它,但我仍然无法迭代它,而调试for循环甚至没有执行。我不确定我哪里出了问题。
问题内容: 我正在尝试编写一个用于与last.fm API进行交互的小脚本。 我有一点使用的经验,但是以前使用它的方式似乎无效,而是返回一个空列表。 我删除了API密钥,因为我不知道它到底应该有多私密,并举了一个示例,说明了我在该位置接收的XML。 与API交互的类: 调用的get_now_playing方法: 我收到的xml样本: 问题答案: 问题在于, 如果给定标签名称,则仅搜索元素的直接后代
我试图用刮擦和飞溅来刮取衣服的图像和一些产品信息。我想得到的形象,只有产品(所以没有模型)。比如这张照片https://www2.hm.com/nl_nl/productpage.0220094001.html 然而,如果我试图让src在Scrapy shell中 回答xpath('//figure[包含(@class,“secondary”)]///img//@src')。摘录() 返回一个空列
引用 删除空文件夹.nsi 的内容: SetCompressor /SOLID lzma SetCompress force !include "FileFunc.nsh" !insertmacro Locate XPStyle on OutFile "删除空文件夹.exe" Name "" Var INI Page Custom ShowCustom LeaveCustom Function