二つのリストを比較し、同じ値が3番目のリストの問題に保存

user8616404:

Hyが、私は2つのリストを比較するとのトラブルを抱えています。目標は、二つのリストを比較し、同じ値を見つけて、3番目のリストにそれらの値を格納することです。私はまだまで発見したことは、単にブール値を返す方法が、リスト値を返す方法はありません。..任意のアイデアですか?

ここでは、データベースから値を取得するための私の二つの方法があります:

@Override
public List<BrojPolice> dohvatiBrojPolice() {
    List<BrojPolice> filter = jdbcTemplate.query("SELECT*FROM ins2.kalk_cpi;",new Object[]{},
            (rs,rowNum) ->{
                BrojPolice bp = new BrojPolice();
                bp.setBroj(rs.getString("BROJ_POLICE"));
                return bp;
            });
    return filter;
}


@Override
public List<BrojPolice> dohvatiBrojPolice2() {
    List<BrojPolice> filter2 = jdbcTemplate.query("SELECT*FROM ins_RAZNO.ADND_DATOTEKA;",new Object[]{},
            (rs,rowNum) ->{
                BrojPolice bp = new BrojPolice();
                bp.setBroj(rs.getString("BROJ_POLICE"));
                return bp;
            });
    return filter2;
}

public List<String> brojPolice(){
    boolean match = dohvatiBrojPolice().contains(dohvatiBrojPolice2());

     //ideas?

    return //List
}
また:

あなたは使用することができますList.retainAllよう:

List<BrojPolice> common = new ArrayList<>(dohvatiBrojPolice());
common.retainAll(dohvatiBrojPolice2());

これは、必要となるBrojPolice適切と匹敵するhashCodeequals

あなたは、このためのストリームまたはforEachのソリューションを探しているなら

List<BrojPolice> common = dohvatiBrojPolice().stream()
                                     .filter(a -> dohvatiBrojPolice2().contains(a))
                                     .collect(Collectors.toList());

おすすめ

転載: http://43.154.161.224:23101/article/api/json?id=234781&siteId=1