Вход нескольких строк в список

У меня есть простой класс:

public class ForStream {
   private int shortId;
   private long longId;

public ForStream(int shortId, long longId) {
    this.shortId = shortId;
    this.longId = longId;
}

public int getShortId() {
    return shortId;
}

public void setShortId(int shortId) {
    this.shortId = shortId;
}

public long getLongId() {
    return longId;
}

public void setLongId(long longId) {
    this.longId = longId;
}
}

Необходимо найти появление нескольких подстрок в массиве. Я делаю это (возможно, это неэффективно):

  public static void main(String[] args) {
    List<ForStream> resList = List.of(
            new ForStream(689, 10000000001L),
            new ForStream(781, 10000000001L),
            new ForStream(785, 10000000001L),
            new ForStream(689, 10000000002L),
            new ForStream(689, 10000000003L),
            new ForStream(781, 10000000004L),
            new ForStream(785, 10000000004L)
    );

    boolean isEqual = !resList.stream()
            .filter(p -> p.getLongId() == 10000000001L)
            .filter(p -> p.getShortId() == 689)
            .filter(p -> p.getShortId() == 781)
            .filter(p -> p.getShortId() == 785)
            .collect(Collectors.toList()).isEmpty();

}

Это значение false. Но 689, 781 и 785 содержат список.

1
задан 13 August 2018 в 14:43

0 ответов

Другие вопросы по тегам:

Похожие вопросы: