2016-09-16 4 views
0

arraylist에서 값을 덮어 쓰거나 바꿀 수있는 방법을 찾고 있습니다. arraylist 자체는 해시 맵의 값입니다.arraylist 값을 Hashmap 값으로 바꾸는 방법

다음은 Google에서 제공 한 코드의 일부입니다.

public Equations(Double[][] matrix) { 
    // save input matrix into M -- it represents the equations 
    M = new HashMap<Integer,ArrayList<Double>>(); 
    for (int i=0;i<matrix.length;i++) { // step through rows of matrix 
     ArrayList<Double> L = new ArrayList<Double>(Arrays.asList(matrix[i])); 
     M.put(i,L); 
     } 
    } 

    // handy method to return a specific coefficient in row/column 
    public Double Element(int row, int column) { 
    return M.get(row).get(column); 
    } 

우리는 가우시안 제거를 수행하기 위해 해시 맵을 사용하고 있습니다. 해당 행의 요소를 찾아 해당 행의 첫 번째 열의 값에 적용하고 그 행의 값에서 해당 값을 빼기 위해 Gaussian Elimination 코드를 준비했습니다. 결과 숫자는 해시 맵과 arraylist에 전달해야하는 값으로, 그냥 인수 분해 된 값을 대체합니다.

이 번호를 번호로 바꿀 수있는 방법이 있습니까? 아니면 새로운 arraylist를 만들고, M.put (key, arraylist)을 사용하여 오래된 arraylist를 대체해야합니까?

+0

평상시대로 교체하십시오. 해시 맵은 배열 목록이 키가 아닌 한 관련이 없습니다. – EJP

답변

0
M.get(i).set(j, value); 

여기서 i-> key는 HashMap에서 arraylist입니다. arraylist에있는 요소의 j-> index. value -> 지정된 인덱스에서 갱신하려는 새 값.