gpt4 book ai didi

java - 如何在Java中减去两个列表/数组的值?

转载 作者:行者123 更新时间:2023-12-01 09:14:45 25 4
gpt4 key购买 nike

我正在开发一个 Java 项目,但遇到了问题。我想对列表/数组 c 中的两个列表或数组 a 和 b 进行减法,但我不知道该怎么做。我希望“a[i] -b[i]”应该在下一个列表 c 中,其中值应该是 c[i] 类似地对于 5-2=3 任何建议和帮助将不胜感激。

代码:

public static void länge() {
{
BufferedReader br = null;
try {
br = new BufferedReader(new FileReader(new File("C:\\Users/Voodoothechild/Desktop/Pidata/Anfang.txt")));
String line = null;
while ((line = br.readLine()) != null) {
{
BufferedReader bro = null;
try {
bro = new BufferedReader(new FileReader(new File("C:\\Users/Voodoothechild/Desktop/Pidata/Ende.txt")));

String lines = null;
while ((lines = br.readLine()) != null) {

String[] anfang = line.split("\n");
String[] ende = lines.split("\n");

List<Integer> an = new ArrayList<Integer>();
List<Integer> en = new ArrayList<Integer>();

for (int index = 0 ; index<ende.length ; index++) {

an.add(Integer.parseInt(anfang[index]));
en.add(Integer.parseInt(ende[index]));
Integer[] anf = new Integer[an.size()];

int[] result = new int[anf.length];

for (int i = 0; i < result.length; i++) {
result[i] = anf[i] - end[i];
}

}
}
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
} finally {
if (bro != null) {
try {
bro.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
}
} catch(FileNotFoundException e) {
e.printStackTrace();
} catch(IOException e) {
e.printStackTrace();
} finally {
if (br != null) {
try {
br.close();
} catch(IOException e) {
e.printStackTrace();
}
}
}
}
}

最佳答案

使用 Stream API 可以轻松完成:

int[] list1 = {4,2,1};
int[] list2 = {2,2,-1};

IntStream.range(0, list1.length)
.mapToObj(i -> list1[i] - list2[i])
.collect(Collectors.toList());

或者使用 Javaslang 更容易:

Stream.range(0, list1.length)
map(i -> list1[i] - list2[i]);

或者将两个列表压缩在一起:

List.ofAll(list1)
.zip(List.ofAll(list2))
.map(t -> t._1 - t._2);

关于java - 如何在Java中减去两个列表/数组的值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40644999/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com