Javaでプロパティでオブジェクトのリストをフィルタリングする方法


  1. forループを使用する方法:

    List<YourObject> filteredList = new ArrayList<>();
    for (YourObject obj : yourList) {
    if (obj.getProperty().equals(desiredValue)) {
        filteredList.add(obj);
    }
    }
  2. Java 8のStream APIを使用する方法:

    List<YourObject> filteredList = yourList.stream()
    .filter(obj -> obj.getProperty().equals(desiredValue))
    .collect(Collectors.toList());
  3. Apache Commons CollectionsのPredicateを使用する方法:

    List<YourObject> filteredList = (List<YourObject>) CollectionUtils.select(yourList, new Predicate() {
    @Override
    public boolean evaluate(Object object) {
        YourObject obj = (YourObject) object;
        return obj.getProperty().equals(desiredValue);
    }
    });
  4. Google GuavaのCollections2を使用する方法:

    Collection<YourObject> filteredCollection = Collections2.filter(yourList, new Predicate<YourObject>() {
    @Override
    public boolean apply(YourObject obj) {
        return obj.getProperty().equals(desiredValue);
    }
    });
    List<YourObject> filteredList = new ArrayList<>(filteredCollection);

これらの方法を使用して、リスト内のオブジェクトを特定のプロパティでフィルタリングすることができます。適用する方法は、プロジェクトの要件や使用しているライブラリによって異なる場合があります。