我正在尝试拆分ArrayList中的每个对象,因为很多行都包含逗号(“,”)。每个对象都包含一个项和值(但并非所有对象都包含值):
Access control enable ,disabled
Access policy prototyping ,enabled
Access user group
Implicit roles access policy
World access policy ,disabled
这是我的一段代码:
List<String> CEP = new ArrayList<String>();
List<String> CEV = new ArrayList<String>();
for (String str : CE) {
for (String s : str.split(",")) {
CEP.add(s.trim());
}
}
我的一段代码只使用逗号将其拆分为同一个ArrayList,另一个问题是如何查看没有“值”的对象并将空值添加到ArrayList。
谢谢各位。
之后可以拆分并检查阵列的长度:
public static void main(String[] args) {
List<String> ce = new ArrayList<String>();
ce.add("Access control enable ,disabled");
ce.add("Access policy prototyping ,enabled");
ce.add("Access user group ");
ce.add("Implicit roles access policy ");
ce.add("World access policy ,disabled");
Map<String, String> cepCev = new HashMap<String, String>();
ce.forEach((String line) -> {
String[] splitLine = line.split(",");
if (splitLine.length > 1) {
cepCev.put(splitLine[0].trim(), splitLine[1].trim());
} else {
cepCev.put(splitLine[0].trim(), "not set");
}
});
cepCev.forEach((String key, String value) -> {
System.out.println(key + ": " + value);
});
}
使用数组并检查其长度可以处理缺少的值:
for (String str : CE) {
String[] a = str.split(",");
CEP.add(a[0].trim());
if(a.length > 1) {
CEV.add(a[1].trim());
} else {
CEV.add(null); //just check that this is OK
}
}
只需确保为缺失值(上述代码中的空值)添加到CEV的值符合要求即可。
也许使用像超级CSV这样的CSV解析器是一个不错的选择。当逗号分隔的列表开始变得更加多样化时,它将真正得到回报。
Univocity提供了CSV解析器的基准。它说univocity解析器速度很快,这并不奇怪。你可以试试看。
问题内容: 到目前为止,我已经看到许多可拆分的示例,但是由于某种原因,当它变得更加复杂时,我无法使其正常工作。我有一个Movie对象,该对象实现了Parcelable。本书对象包含一些属性,例如ArrayLists。执行ReadTypedList时,运行我的应用程序会导致NullPointerException!我真的不在这里 评论类: 如果有人能让我走上正确的道路,我将不胜感激,我已经花了很多时
本文向大家介绍PowerShell 每个对象,包括了PowerShell 每个对象的使用技巧和注意事项,需要的朋友参考一下 示例 该ForEach-Objectcmdlet的工作原理类似于该foreach语句,但从管道中获取其输入。 基本用法 例: Foreach-Object有两个默认别名,foreach和%(简写语法)。最常见的是%因为foreach可以与foreach语句混淆。例子: 高级用
在分析一位同事几年前的Java 7代码时,我发现他实现了一个遍历数据的实用程序,可能是并行的。他称之为< code>Range,它扩展了< code>Iterator接口。它的一些新方法令人尴尬的熟悉: 将给出范围的确切大小; 将范围分成2个部分,最好,但不一定,大小相似(修改当前范围并创建一个新范围); 会将范围分成 N 个子范围,可能试图使它们尽可能均匀。 尽管 来自 ,但它的子类型只是抛出了
我想根据属性“amount”(空字符串)将对象分成两部分 } 对此 我即将解决它,但经过多次尝试(推送、分配、映射),它仍然不起作用。谢谢。
我们开始在团队中尝试spark。在我们减少spark中的工作后,我们希望将结果写入S3,但是我们希望避免收集Spark结果。目前,我们正在为RDD的每个分区写文件,但是这会产生很多小文件。我们希望能够将数据聚合到几个文件中,这些文件按照写入文件的对象数量进行分区。例如,我们的总数据是100万个对象(这是不变的),我们希望生成40万个对象文件,而我们当前的分区生成大约2万个对象文件(这因每个作业而异
在某些情况下,某个collection可能会非常大,比如,存储1亿条数据。这时候操作这个collection会很慢。一种最简单直接的优化方法,是将其拆分。 bugu-mongo支持对集合的拆分,可以按年、月、日、自定义字符串对其拆分。 比如,你有很多的朋友,你希望按省份存放到不同的表中,上海的存放在friend-shanghai,浙江的存放在friend-zhejiang。 步骤一:设置@Enti