[英]Algorithm to create multiple lists from a single list
我有一个界面:
List<List<Integer>> separate(List<Integer> list);
我希望能够基于列表对象内的值是否相同,将参数化列表分为单独的整数列表,因此如果列表为{1, 1, 5, 7, 9}
,它将创建4个单独的列表:
{1, 1}
{5}
{7}
{9}
是否有一个易于使用的库? 我可以很容易地提出一个算法,但是如果列表中的元素不是Integers
而是Objects
而您想将分组规则基于其中的某些字段,那我该怎么做呢?
非常感谢您的帮助。
通常,您需要使用一个临时Map<Key, List<Type>>
,其中在示例中, Key和Type均为Integer
。 对于大列表中的每个Integer
,请检查Map
以查看该Integer
是否已经是密钥。 如果不是,则添加新的List<Integer>
。 然后,无论哪种方式,将Integer
添加到该键的List
中。 然后,最后从Map
的values()
构造List<Integer>
。
对于更复杂的Type ,您可以选择一些不同的数据值作为Key ,否则代码将是类似的。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.