根据Object中的int值将ArrayList <Object>拆分为多个

Luc*_*Luc 1 java split arraylist object

我有一个包含Objects的ArrayList,这些对象有多个值.

现在我想将这个列表拆分为多个列表,这些列表依赖于对象中的int值.

所以,例如:

2对象具有值为1的int
3对象具有值为3的int

所以arraylist有5个对象,我想得到:

2个Arraylists,1个带有第一个对象en 1和第二个对象(如果有更多不同的int值,则更多)

对不起,如果它令人困惑..

Chr*_*per 7

首先创建一个这样的缓存: Map<Integer, List<YourObjectType>>

然后循环遍历每个对象,并使用整数访问上面的内容Map,如果值为null,则创建一个新的List并将其放入Map,然后将对象添加到List.

最终结果将是一个带有两个条目的映射,每个条目包含一个条目列表,其中对象的整数是鉴别符.

这是代码:

Map<Integer, List<YourObject>> cache = new HashMap<Integer, List<YourObject>>();
for (YourObject yo : yourObjectListArrayWhatever) {
  List<YourObject> list = cache.get(yo.getIntegerValue());
  if (list == null) {
    list = new ArrayList<YourObject>();
    cache.put(yo.getIntegerValue(), list);
  }
  list.add(yo);
} 
Run Code Online (Sandbox Code Playgroud)