【问题标题】:Getting this format in output [[20, 33], [20, 33], [20, 33], [10, 22], [10, 22], [10, 22]], but i want my output such as [20, 10] [33, 22] [closed]在输出 [[20, 33], [20, 33], [20, 33], [10, 22], [10, 22], [10, 22]] 中获取此格式,但我希望我的输出如[20, 10] [33, 22] [关闭]
【发布时间】:2023-01-13 00:29:13
【问题描述】:

我有三个清单

  • 清单 1 [[[160, 600], [125, 600],[120,600]], [[1003, 70], [1000, 60]], [[1003,90], [970,90],[728, 90]],[[300,250],[300,600],[300,292],[300,600]],[300, 100], [300, 250], [300, 250], [300, 250], [[728, 90], [1003, 90]], [1, 1]]

  • 清单 2 [125, 1000px, 1003, 300px, 300px, 300, 300, 300, 728]

  • 清单 3 [600, 50px, 80, 600px, 100px, 250, 250, 250, 90]

我的要求是,我必须检查列表 1 中是否存在 List2 和 List3 的组合。

例如:-[125, 600]存在于[[160, 600], [125, 600],[120,600]]

我在这里寻找最好的方法。

【问题讨论】:

  • 你需要edit你的问题来更详细地解释你想在这里实现的目标,因为否则简单的System.out.println("[20, 10] [33, 22]")` 是解决你问题的最简单方法。当您没有包含 20 和 10 的列表时,您为什么期望您给出的输出,为什么您只希望输出一次内容时将两者都添加到列表中 3 次?如果没有解释,这些代码都没有多大意义什么你正在尝试做并且为什么.
  • 所以你不想重复?那么你应该只使用Set,比如Set<List<Integer>>

标签: java


【解决方案1】:

我不明白为什么你需要在这里循环。这没有意义,因为您在使用时会覆盖您的价值观:

arrlist.add(count,one);
arrlist.add(count,two);

count 在这些行中具有相同的值。

尝试这个:

ArrayList<ArrayList<Integer>> arrlist = new ArrayList<ArrayList<Integer>>();
ArrayList<Integer> one = new ArrayList<>();
one.add(10);
one.add(22);
ArrayList<Integer> two = new ArrayList<>();
two.add(20);
two.add(33);
arrlist.add(0,one);
arrlist.add(1,two);
System.out.println(arrlist);

输出将是:[[10, 22], [20, 33]]

编辑:但我仍然不确定这是否是您想要的。

【讨论】:

  • 感谢您的快速回复,我已经为我的完整场景添加了更多细节。
猜你喜欢
  • 2015-06-03
  • 1970-01-01
  • 2023-03-04
  • 2013-11-21
  • 1970-01-01
  • 1970-01-01
  • 2019-06-15
  • 1970-01-01
  • 2017-10-07
相关资源
最近更新 更多