Добры день! Нужно написать метод, который будет делить строку на массив строк по разделителю точка, а затем поместить разделенные строки в HashMap. Метод написан, но он только помещает одну строку из трех.
public static Map<String ,String> parse(String line) {
Map<String, String> sentence = new HashMap<>();
String [] sentences = line.split("[.]");
for (String s:sentences) {
sentence.put("Sentence", s);
}
return sentence;
}
String l = "la. la. la.";
У вас добавляются одинаковые ключи и предыдущие значения затираются. Вот пример, как вы можете сделать.
package stringsToHashMap;
import java.util.HashMap;
import java.util.Map;
/**
* https://ru.stackoverflow.com/questions/830181/Парсинг-строки-java
*
* @author vvm
*/
public class StringsToHash {
public static void main(String[] args) {
String l = "la.la.la.";
Map<String, String> sent = new HashMap<>();
sent = parse(l);
//вывод значений
for (String value : sent.values()) {
System.out.println("Value: " + value);
}
}
public static Map<String ,String> parse(String line) {
Map<String, String> sentence = new HashMap<>();
// String [] sentences = line.split("[.]");
String [] sentences = line.split("[,;:.!?\\s]+");
int i = 0;
for (String s:sentences) {
sentence.put("Sentence"+i++, s);
}
return sentence;
}
}
Из документации:
A map cannot contain duplicate keys; each key can map to at most one value.
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
Есть сервер (однопоточный nio) работающий с клиентами, все работает корректно кроме того, что после первого ответа клиенту метод select перестает...
Как найти одинаковые слова в предложении и вывести эти предложения? Есть идея вначале, получить предложения:
Нужно вывести список самых популярных компаний по языкам программированияНе понимаю как отделить компании по языкам