지도에 포함 된 목록에 저장된 일부 요소에 액세스하려고합니다. 지도의 키는 두 배입니다. 내가 접근하려고 시도하는 목록에는 double과 map이 모두 들어 있습니다. 아래 코드는 목록에 포함 된지도에 액세스하는 것뿐만 아니라 목록에 두 번 저장하려고 시도한 것입니다. 아래 코드에는 해결 방법을 모르는 3 가지 오류가 있습니다. 어떤 도움이라도 대단히 감사 할 것입니다.지도에 포함 된 목록의 요소에 액세스하는 방법?
private Map<Double,List<Object>> prediction = new HashMap<Double,List<Object>>();
// previous is a double that the user inputs
if(prediction.containsKey(previous)){
List<Object> l1 = new ArrayList<>();
l1.add(0,(double)l1.get(0)+1.0); // add double 1 at index 0
Map<Double,Double> m2 = new HashMap<Double,Double>();
l1.add(m2); // add map to list at index 1
prediction.put(previous,l1);
}
public double predict(double value){
if (prediction.containsKey(value)){
double total = prediction.get(value).get(0); //ERROR can't convert Object to double
Map items = prediction.get(value).get(1); //ERROR can't convert Object to Map
for (double i=0; i<=items.size();i++){ //iterate through Map
double a = items.get(i)/total; //ERROR can't divide object by double
}
}
}
사용 '목록'이 아닌'목록
목록에 double과 map이 모두 들어 있습니다. –
@jjohnst : 확실한 코드 냄새입니다. 형식이없는'List' 안에 모든 것을 유지하는 것이 아니라'double' 필드와'Map' 필드를 가진 타입을 갖는 것이 훨씬 더 효과적 일 것 같습니다. –