3

オブジェクトのタイトル値に基づいてリストを分割したい MyObjects の配列リストがあります。例

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

これは多くの製品を含む私のリストです。

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

arraylist を、同様の製品タイトルを持つ複数のリストに分割したいと考えています。

私にお知らせください。ありがとう。

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 に答える