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

标签 java object arraylist split

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

现在我想根据对象中的 int 值将此列表拆分为多个列表。

例如,如果:

2 对象有一个值为 1 的 int
3 对象有一个值为 3 的 int

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

2 个数组列表,1 个包含第一个对象 en 1 个包含第二个对象(如果有更多不同的 int 值,则更多)

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

最佳答案

首先像这样创建一个缓存: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);
} 

关于java - 根据 Object 中的 int 值将 ArrayList<Object> 拆分为多个,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15547444/

相关文章:

java - 如何检查 cron 表达式是否每天、每周或每月执行?

java - 理解Java中的对象

javascript - 根据属性从对象数组中过滤对象

java - 如何在 HTTPPOST 请求中将 ArrayList<Integer> 作为 UrlEncodedFormEntity 发送?

java - ArrayList 对象在 java android 的 ListView 上返回一行

java - 为什么我的文本文件总是空的?

java - 两个 tableView 和一个使用 JavaFx 的选择

java - 许多主机通过 jdbc 连接到 teradata

C++ 从另一个类访问类成员

java - ArrayList 对象存储意外值