[英]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.