имеется массив чисел
String[] NUMBER =new String[5]
943434
232343
232432
232443
943243
Есть фрагменты
String[] MASK =new String[3];
94
232
2324
Как сделать, чтобы каждое число можно было бы сопоставить фрагменту, причём если число соответствует двум фрагментам, то оно принадлежит фрагменту с бильшим числом цифр (напраимер 232432 соответствует фрагментам 232 и 2324, но присвоить нужно второму, т.к. он больше)
String[] NUMBER = new String[] {"943434", "232343", "232432", "232443", "943243"};
String[] MASK = new String[] {"94", "232", "2324"};
HashMap<String,String> map = new HashMap<>();
for (String s : NUMBER)
for (String mask : MASK)
if (s.contains(mask)) {
String n = map.get(s);
if(n == null || mask.length() > n.length())
map.put(s, mask);
}
System.out.println(map);
Вывод:
{943243=94, 943434=94, 232343=232, 232432=2324, 232443=2324}
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
При запуске тестов с MockMvc получаю ошибку: javalang