3

我有一个 MyObjects 的数组列表,我想根据我的对象的标题值在其中拆分我的列表。例如

List<MyProduct> productList = instance.getMyProductList();

这是我的清单,其中包含许多产品。

product = productList.get(i);
String tittle = product.getTitle();

我想将我的数组列表拆分成几个具有相似产品标题的列表。

请告诉我。谢谢。

4

1 回答 1

6

与番石榴:

ListMultimap<String, MyProduct> result = Multimaps.index(productList, new Function<String, Product>() {
    @Override
    public String apply(Product input) {
        return input.getTitle();
    }
});

使用普通的旧 Java 集合:

Map<String, List<MyProduct>> result = new HashMap<>();
for (MyProduct p : productList) {
    List<MyProduct> list = result.get(p.getTitle());
    if (list == null) {
        list = new ArrayList<>();
        result.put(p.getTitle(), list);
    }
    list.add(p);
}

两者都假设“相似”标题实际上是“相等”标题。

于 2013-08-17T08:05:33.040 回答