Написание программы для фильтрации логинов на Java с использованием Stream API
Привет‚ меня зовут Максим‚ и я хотел бы поделиться своим опытом написания программы для фильтрации логинов‚ используя язык программирования Java и функциональные возможности Stream API.
Прежде всего‚ давайте определим‚ что такое Stream API. Stream API является новым функциональным интерфейсом в Java‚ который предоставляет нам возможности для удобной работы с коллекциями данных. Он позволяет создавать потоки данных‚ на которых мы можем применять различные операции‚ такие как фильтрация‚ сортировка и т.д.
Теперь перейдем к написанию программы. Во-первых‚ нам понадобится создать метод‚ который будет принимать ввод от пользователя и возвращать список логинов. Начнем с написания этого метода⁚
java
import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;
public class Main {
public static List
List
Scanner scanner new Scanner(System.in);
String login;
do {
login scanner.nextLine;
if (!login.isEmpty) {
logins.add(login);
}
} while (!login;isEmpty);
return logins;
}
}
В этом методе мы создаем список logins и объект Scanner для чтения пользовательского ввода. Затем мы запрашиваем у пользователя ввод логина и добавляем его в список‚ если логин не пустой. Процесс повторяется‚ пока пользователь не введет пустую строку.
Теперь давайте создадим метод для фильтрации логинов‚ чтобы получить только те‚ которые начинаются на букву ‘f’. Для этого мы будем использовать Stream API⁚
java
import java.util.List;
import java.util.stream.Collectors;
public class Main {
// ... public static List
return logins.stream
.filter(login -> login.startsWith(″f″))
.collect(Collectors.toList);
}
}
Здесь мы преобразуем список logins в поток данных с помощью метода stream. Затем мы использовали метод filter‚ чтобы отфильтровать только те логины‚ которые начинаются на букву ‘f’. Наконец‚ мы собираем отфильтрованные логины обратно в список с помощью метода collect и возвращаем результат.
Теперь‚ когда у нас есть оба метода‚ мы можем суммировать все вместе и протестировать нашу программу⁚
java
import java.util.List;
public class Main {
public static void main(String[] args) {
System.out.println(″Введите логины (для выхода введите пустую строку)⁚″);
List
System.out.println(″Логины‚ начинающиеся на букву ‘f’⁚″);
List
filteredLogins.forEach(System.out⁚⁚println);
}
private static List
// ... }
private static List
// ... }
}
В методе main мы выводим приветствие и запускаем метод readLogins‚ чтобы получить список всех логинов от пользователя. Затем мы фильтруем логины‚ используя метод filterLoginsStartingWithF и выводим результат в консоль с помощью метода forEach.
В результате‚ программа будет запрашивать у пользователя логины до тех пор‚ пока он не введет пустую строку. Затем программа отфильтрует логины‚ оставив только те‚ которые начинаются на букву ‘f’‚ и выведет результат в консоль.
Таким образом‚ мы создали программу на Java‚ которая принимает ввод различных логинов от пользователя и фильтрует только те‚ которые начинаются на букву ‘f’‚ используя Stream API. Надеюсь‚ мой опыт будет полезен для вас!