В общем стоит довольно таки тривиальная задача, получения значения по ключу из HashMap или TreeMap (до сих пор не знаю для этой задачи лучше использовать хеш или три мап).
char[] decode = {'A', 'B', 'D', 'B', 'D', 'D', 'D', 'C', 'D', 'D', 'B', 'D', 'D',
'D', 'D', 'D', 'B', 'D', 'B', 'D', 'C', 'B', 'D', 'C', 'D', 'B', 'C', 'B', 'D', 'B'}; //это у нас массив который будем сравнивать с ключём в HashMap
HashMap<String,Object> map=new HashMap<String,Object>();
Set<Map.Entry<String,Object>> entrySet=map.entrySet();
map.put("A", "11");
map.put("B", "01");
map.put("C", "10");
map.put("D", "00"); //тут мы заполнили наш HashMap ключем и значением
String encode = ""; //пустой стринг, куда будем записывать наши значения полученные по ключу
Object desiredObject=new Object();
desiredObject=decode; //тут мы приравниваем объекту массив, который будем сравнивать с ключем в хешмапе
for (Map.Entry<String,Object> pair : entrySet) {
if (desiredObject.equals(pair.getKey())) {
encode=encode+pair.getValue();// нашли наше значение и возвращаем значение
}
}
Честно признаюсь подобный код нашёл на просторах интернета и якобы правильный при таких операциях, только вот мой String
остается всегда пустым. Изначально у меня была идея сделать обычное сравнение через двумерный цикл, как это делается с обычными массивами и списками, но в Java так просто это не работает.
Пример ответа в стринг должен быть примерно таким (11 01 00 01 00 ...) то есть все найденные значения по заданному ключу записаться в тот пустой стринг
char[] decode = {'A', 'B', 'D', 'B', 'D', 'D', 'D', 'C', 'D', 'D', 'B', 'D', 'D',
'D', 'D', 'D', 'B', 'D', 'B', 'D', 'C', 'B', 'D', 'C', 'D', 'B', 'C', 'B', 'D', 'B'}; //это у нас массив который будем сравнивать с ключём в HashMap
Map<Character, String> map = new HashMap<>();
map.put('A', "11");
map.put('B', "01");
map.put('C', "10");
map.put('D', "00");
StringBuilder encode = new StringBuilder();
for (char ch : decode) {
String get = map.get(ch);
if (get!=null) encode.append(get);
}
System.out.println(encode.toString());
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
На сервер приходит jsonobject , с неизвестными ключами например:{"perviy":"1","2":"vtoroy","223dsds0":"adfad"} как вытянуть все ключи и соответствующие значения?
Проблема в том, что когда я присваиваю строке значение из файла strings в классе активности через String string = getResources()getString(R