Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/324.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 分离arraylist的元素_Java - Fatal编程技术网

Java 分离arraylist的元素

Java 分离arraylist的元素,java,Java,我有一个ArrayList,它包含一个messageId,然后是-,然后是一个用户名。 示例:E123 sam 我想划分我的列表的每个元素,这样-前面的部分会转到一个数组列表,后面的部分会转到另一个数组列表 我该怎么做?假设您有这些ArrayLists: List<String> allStrings; // ... initialization and filling of 'allStrings' List<String> messageIDs = new Array

我有一个
ArrayList
,它包含一个messageId,然后是
-
,然后是一个用户名。
示例:
E123 sam

我想划分我的
列表的每个元素
,这样
-
前面的部分会转到一个
数组列表
,后面的部分会转到另一个
数组列表


我该怎么做?

假设您有这些
ArrayList
s:

List<String> allStrings;
// ... initialization and filling of 'allStrings'
List<String> messageIDs = new ArrayList<>();
List<String> userNames = new ArrayList<>();

注意:如果
allStrings
中的所有字符串都遵循
模式“something something”
,则此操作将有效。如果不正确,则可以在访问其元素之前检查
部分的长度是否正确,否则您将获得
索引自动边界异常

假设您有这些
数组列表
s:

List<String> allStrings;
// ... initialization and filling of 'allStrings'
List<String> messageIDs = new ArrayList<>();
List<String> userNames = new ArrayList<>();

注意:如果
allStrings
中的所有字符串都遵循
模式“something something”
,则此操作将有效。如果不正确,则可以在访问其元素之前检查
部分的长度是否正确,否则将获得
索引自动边界异常

如果计划使用Java 8,可以执行以下操作:

List<String> listOfIds = original.stream().map(e -> e.split("-")[0]).collect(Collectors.toList());
List<String> listOfUsernames = original.stream().map(e -> e.split("-")[1]).collect(Collectors.toList());
List listOfIds=original.stream().map(e->e.split(“-”[0]).collector(Collectors.toList());
List listOfUsernames=original.stream().map(e->e.split(“-”[1]).collect(Collectors.toList());

如果您计划使用Java 8,您可以:

List<String> listOfIds = original.stream().map(e -> e.split("-")[0]).collect(Collectors.toList());
List<String> listOfUsernames = original.stream().map(e -> e.split("-")[1]).collect(Collectors.toList());
List listOfIds=original.stream().map(e->e.split(“-”[0]).collector(Collectors.toList());
List listOfUsernames=original.stream().map(e->e.split(“-”[1]).collect(Collectors.toList());

@marounnaroun您能写一行代码吗?请先自己尝试一下,如果您在尝试后失败,我们会帮助您。您需要创建数组,然后迭代您的arrayList(),这样您就可以使用String.split(“-”)获得单独的数组元素您将在字符串数组中同时得到这两部分。@MarounnMaroun您可以写一行代码来完成吗?请先自己尝试,如果您在尝试后失败,我们会帮助您。您需要生成数组,然后迭代您的arrayList(),这样您将得到单独的数组元素,然后使用string.split(“-”)你会得到字符串数组中的两个部分。我没有投票权。虽然为那些显然只需要查找库函数和/或阅读循环和集合的人编写代码并不理想,但这是一个正确的解决方案,它也能教会可怜的人一些东西。还是没有?我是落选的选民,抱歉我没提那件事。我倾向于否决那些没有显示出最小研究努力的问题的完整答案。这一次,我将取消我的否决票,因为这是一个很好的解释。我没有在这个问题上的投票权。虽然为那些显然只需要查找库函数和/或阅读循环和集合的人编写代码并不理想,但这是一个正确的解决方案,它也能教会可怜的人一些东西。还是没有?我是落选的选民,抱歉我没提那件事。我倾向于否决那些没有显示出最小研究努力的问题的完整答案。这次我将取消我的否决票,因为这是一个很好的解释。