저는 아마 여기 바보가 될 것입니다 ...하지만이 도움이 필요합니다! 기본적으로 .contains ("message")를 수행하여 키에 이미 들어오는 메시지가 포함되어 있는지 확인해야합니다.해시 맵 키 안에 arraylist 값을 가져 오려고 시도합니다.
미리 감사드립니다.
편집 : 메모와 마찬가지로 이미 존재하는 경우 아무 것도하지 않기를 바랍니다. 현재 목록에 추가하지 않았습니다.
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