我需要在的末尾放置空对象List
。这是我为此目的所做的一个示例:
public static void main(String... args) {
List<String> strings = Arrays.asList(new String[]{"A", null, "B"});
for(String string : strings) {
System.out.println(string);
}
System.out.println("==================");
List<String> result = new ArrayList<String>();
List<String> nullStrings = new ArrayList<String>();
for(String string : strings) {
if(string != null) {
result.add(string);
} else {
nullStrings.add(string);
}
}
result.addAll(nullStrings);
for(String string : result) {
System.out.println(string);
}
}
我期待着一种更高效,更智能的方式来做到这一点。是否有可能在实际列表内交换,以便将空节点放置在末尾,这样我就不需要其他两个列表(nullStrings,结果)和额外的迭代。
排序不适用于我的情况。我仅为测试目的而编写的此示例代码。实际上,我有不同类型的对象。同样,排序也会破坏位置。
说我有这个null, Obj2, Obj1
,如果做排序之类的事情可能会发生Obj1, Obj2, null
。但是我需要Obj2, Obj1, null
。
您可以使用Collections.sort
和自定义对它进行排序Comparator
。
这里是比较代码:
@Override
public int compare(String left, String right) {
if (left == right) {
return 0;
}
if (left == null) {
return 1;
}
if (right == null) {
return -1;
}
return 0;
}
请注意,根据此值具有相等值的元素Comparator
将不会重新排序。来自Collections.sort
:
这样的排序保证是稳定的:相等元素不会由于排序而重新排序。
问题内容: 我经常在我要放在第一位的项目前加上’ _ ‘。 我可以使用某种魔法人物将物品放在列表的末尾吗? 比“ z_item” 更 优雅的 东西。 从 _custom文件夹1 _custom folder2 收件箱 寄件箱 垃圾邮件文件夹 至 收件箱 寄件箱 垃圾邮件文件夹 [?]自定义文件夹1 [?]自定义文件夹2 是的,这是COT式的。 问题答案: 特殊导入字符,它将使您的文件夹位于列表的末
问题内容: 我有一个清单: 列表的长度不确定,因此我尝试将对象追加到list1的末尾,如下所示: 但是我的输出始终显示此错误:AttributeError:’NoneType’对象没有属性’append’ 这是因为list1从一个空列表开始吗?如何解决此错误? 问题答案: 实际 更改 列表。同样,它需要一个 item ,而不是一个列表。因此,您所需要做的就是 (请注意,在这种情况下,您可以使用。)
我创建了一个包含2张(标签)的谷歌表。 第一张表格是自动创建的,它从我的谷歌广告中获取一些数据。 第二张工作表是我手动创建的。现在 1) 我希望日期行从第一个工作表自动填充,但如何设置从第一列到第一个工作表列末尾的范围?因为现在我将其设置为,但明天Sheet1列将一直到G,我需要手动将范围设置为G2。 2)在印象行下,我希望每列从工作表1中求和3列。这意味着第一列公式将是,第二列将是以此类推直到S
问题内容: 这是我所拥有的: 如何编写代码以在列表末尾添加节点? 所以如果我有 我怎么去 其实…我什至不确定是否要添加到最后。我认为添加然后排序是有效的吗?不确定。 谢谢! 问题答案:
我需要创建一个组合框,可以有一个按钮在其列表视图的结尾。该列表可以添加或删除项目,当项目数量超过5个时,会显示一个滚动条。此外,当选择一个项目时,该列表视图不会自动关闭。 如何像下面的截图一样添加一个按钮“新项目”? 这是源代码: helloApplication.java 你好控制器.java 您好,查看.fxml
我有一个使用Spring和RabbitMQ的项目设置。目前,我的应用程序可能会收到一条amqp消息,在另一个异步进程完成之前无法处理该消息(遗留和完全分离,我无法控制)。因此,结果是我可能不得不等待处理消息一段时间。其结果是变压器出现异常。 当消息被NACK回rabbitMQ时,它会将其放回队列的头部,并立即重新拉入队列。如果我收到的无法处理的消息等于并发侦听器的数量,我的工作流就会被锁定。它转动