У меня есть значения списка как ["12-dept20","13-dept50"] я хочу разделить их на список, содержащий только цифры перед -, чтобы получить список как [12, 13]
Список. разделить с помощью потоков, но не уверен, как с этим работать. Любая помощь будет оценена по достоинству. Я использую Java 8
Список источников = ["12-депт20","13-депт50"];
Ожидал:
Список новый = [12, 13]




Ну вот:
List<String> source = List.of("12-dept20", "13-dept50");
List<Integer> target = source.stream()
.map(entry -> entry.split("-")[0])
.map(Integer::valueOf)
.toList();
System.out.println(target);
Имейте в виду, что этот код не является отказоустойчивым на случай, если записи не могут быть проанализированы из-за неправильного формата.
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
public class Test01 {
public static void main(String[] args) {
List<String> inputList = Arrays.asList("12-dept20", "13-dept50");
List<String> outputList = extractNumbersBeforeDash(inputList);
System.out.println(outputList); // output: [12, 13]
}
public static List<String> extractNumbersBeforeDash(List<String> lst) {
List<String> numbers = new ArrayList<>();
for (String s : lst) {
int dashIndex = s.indexOf('-'); // Find the location of the dash
if (dashIndex != -1) { // If a dash is found
numbers.add(s.substring(0, dashIndex)); // Extract the part before the dash
} else {
// If there is no dash in the string, it can be processed according to the requirements. Here, it is simply skipped
System.err.println("No dash found in string: " + s);
}
}
return numbers;
}
}
Отвечать
List<String> src = List.of("12-dept20", "13-dept50");
List<Integer> result = new ArrayList<>();
for (String str : src) {
String[] parts = str.split("-");
int number = Integer.parseInt(parts[0]);
result.add(number);
}
System.out.println(result);
Добро пожаловать в Stack Overflow и спасибо за вопрос. Я предполагаю, что ваш вопрос был закрыт, потому что вы недостаточно четко продемонстрировали свои собственные усилия, пытаясь его решить. Большинству из нас гораздо больше нравится отчет о результатах вашего поиска и попытках написать код, и мы будем рады помочь вам исправить его, чтобы он работал.