電子書籍の厳選無料作品が豊富!

下記のリストならno002が含まれてるかどうか判定したい場合、どのようなやり方があるのでしょうか。

List<Entity>array = new ArrayList<>();
Entity entity = new Entity ();
entity.setId("ab001") ;
entity.setNo("no001") ;
array.add(entity) ;

Entity entit2 = new Entity ();
entity2.setId("ab001") ;
entity2.setNo("no002") ;
array.add(entity2)

A 回答 (4件)

ストリーム API とラムダ式を使えば手軽に書けます



例) リスト内のどれかが条件を満たすなら true
boolean contains = array.stream().anyMatch(v -> v.getNo().equals("no002"));

参考)
https://www.google.co.jp/search?q=java+stream+la …
https://docs.oracle.com/javase/jp/21/docs/api/ja …
    • good
    • 0

ArrayList<Entity>を継承したEntityListクラスを用意して、


bool containsNo() メソッドを用意して、
EntityListを利用する形にする。
    • good
    • 0

基本的にはできないです。



Entityクラスにequalsメソッドとhashcodeメソッドを実装すれば、containsが使えるようにはなりますが。。。
クラスの本来の意味がズレると思いますのでやめたほうがいいですね。
    • good
    • 1

arrayをループで回して、一つずつEntityオブジェクトのNo属性を確認していけばいいです。

    • good
    • 0
この回答へのお礼

ありがとうございます。
一件ずつしか無理なのでしょうか。
containsのような形で手軽にできないのでしょうか

お礼日時:2024/06/24 17:21

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています


おすすめ情報

このQ&Aを見た人がよく見るQ&A