Я, наверное, здесь глуп, но мне нужна помощь в этом! В основном мне нужно сделать .contains («сообщение»), чтобы определить, содержит ли ключ уже входящее сообщение.Попытка получить значение arraylist внутри ключа hashmap
Заранее благодарен!
EDIT: Как примечание, я не хочу, чтобы он ничего не делал, если он уже существует! В настоящее время он не добавляет его в список.
EDIT2: дата не имеет значения для входящего сообщения, поскольку входящее сообщение не имеет даты.
private Map<Integer,List<String>> map = new HashMap<Integer,List<String>>();
public synchronized void addToProblemList(String incomingMessage, int storeNumber){
Date date = new Date();
SimpleDateFormat sdf = new SimpleDateFormat("MM/dd/yyyy h:mm:ss a");
String formattedDate = sdf.format(date);
if(map.get(storeNumber)==null){
map.put(storeNumber, new ArrayList<String>());
}
for(String lookForText : map.get(storeNumber)){
if(lookForText.contains(incomingMessage)){
}else if(!lookForText.contains(incomingMessage)){
map.get(storeNumber).add(incomingMessage+"\nTime of incident: "+formattedDate+"\n--------------------------------------------------------");
}
}
}
Раньше выглядеть, но всегда добавляют его:
public synchronized void addToProblemList(String incomingMessage, int storeNumber){
Date date = new Date();
SimpleDateFormat sdf = new SimpleDateFormat("MM/dd/yyyy h:mm:ss a");
String formattedDate = sdf.format(date);
if(map.get(storeNumber)==null){
map.put(storeNumber, new ArrayList<String>());
}
if(map.get(storeNumber).contains(incomingMessage)==true){
//Do nothing
}
if (map.get(storeNumber).contains(incomingMessage)==false){
map.get(storeNumber).add(incomingMessage+"\nTime of incident: "+formattedDate+"\n--------------------------------------------------------");
}
С какой проблемой вы сталкиваетесь сейчас и что у вас есть? – lreeder
В настоящее время он не добавляет его в список. – Petro