Парсинг строки (Java)

201
28 мая 2018, 23:50

Добры день! Нужно написать метод, который будет делить строку на массив строк по разделителю точка, а затем поместить разделенные строки в 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.";

Answer 1

У вас добавляются одинаковые ключи и предыдущие значения затираются. Вот пример, как вы можете сделать.

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;
    }
}
Answer 2

Из документации:

A map cannot contain duplicate keys; each key can map to at most one value.

READ ALSO
Java nio select() не блокирует поток

Java nio select() не блокирует поток

Есть сервер (однопоточный nio) работающий с клиентами, все работает корректно кроме того, что после первого ответа клиенту метод select перестает...

183
Одинаковые слова в предложении

Одинаковые слова в предложении

Как найти одинаковые слова в предложении и вывести эти предложения? Есть идея вначале, получить предложения:

185
Как получить список компаний Github API?

Как получить список компаний Github API?

Нужно вывести список самых популярных компаний по языкам программированияНе понимаю как отделить компании по языкам

191