繁体   English   中英

如何将多个整数值拆分为索引数组

[英]How to split multiple interger value into array of index

我在ArrayList有一些Integer

ArrayList<Integer> al = new AraayList<Integer>();
al.add(100);
al.add(211);

现在,我想将ArrayList的值拆分为一个数组。 假设100是在第一值ArrayList那么相应的数组应该包含100

如果您使用的是Java 8+,则可以通过以下技巧使用流:

List<Integer> result = al.stream()
        .map(String::valueOf) 
        .flatMap(s -> Arrays.stream(s.split("")))
        .map(Integer::valueOf) 
        .collect(Collectors.toList());

细节

  • .map(String::valueOf)这会将您的Integer转换为String eg. 100 => "100"
  • .flatMap(s -> Arrays.stream(s.split("")))这将通过使用""进行拆分创建流。 "100" => ["1", "0", "0"]
  • .map(Integer::valueOf)会将每个String解析为Integer例如。 ["1", "0", "0"] => [1, 0, 0]
  • .collect(Collectors.toList()); 这会将所有结果收集在一个列表中。 [1, 0, 0, 2, 1, 1]

从Java 8开始,您可以在for循环或foreach中遍历每个元素。然后在循环中可以将其转换为String

yourNumberAsString = String.valueOf(yourNumberInArray);

yourNumberAsString.charAt(0); 

您将获得第一个数字的位置,即100,它将是1。如果在另一个for循环中动态执行此操作,则您的工作已完成。

您可以遍历数组,将Integer转换为String并使用Split方法获得String数组:

for(int i=0; i < al.size(); i++)
{
   String [] array = al[i].toString().split("");
   // do whatever you need with the array
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM