Я хочу разбить нижнюю строку и сохранить ее в HashMap.разделите строку и сохраните ее в HashMap java 8
String responseString = "name~peter-add~mumbai-md~v-refNo~";
сначала я разделить строку с помощью разделителя дефис (-) и сохранение его в ArrayList, как показано ниже:
public static List<String> getTokenizeString(String delimitedString, char separator) {
final Splitter splitter = Splitter.on(separator).trimResults();
final Iterable<String> tokens = splitter.split(delimitedString);
final List<String> tokenList = new ArrayList<String>();
for(String token: tokens){
tokenList.add(token);
}
return tokenList;
}
List<String> list = MyClass.getTokenizeString(responseString, "-");
, а затем, используя код, приведенный ниже, чтобы преобразовать его в HashMap, используя поток.
HashMap<String, String> = list.stream()
.collect(Collectors.toMap(k ->k.split("~")[0], v -> v.split("~")[1]));
Сборщик потоков не работает, поскольку нет никакой ценности против refNo.
Он работает правильно, если у меня есть даже количество элементов в ArrayList.
Есть ли способ справиться с этим? Также предлагаю, как я могу использовать поток для выполнения этих двух задач (я не хочу использовать метод getTokenizeString()) с использованием потока java 8.
Большое спасибо за ваш быстрый и рабочий ответ. Работаю как шарм. –