행키, col 키 및 해당 위치의 값을 사용하려는 것처럼 들립니다. 거기에 내장 된 데이터 구조는 없습니다.
가장 쉬운 방법은 실제 데이터의 2 차원 배열 일 수 있습니다. 행 또는 열 이름에서 배열의 실제 색인으로 이동하려면 다음과 같이하십시오. 원하는만큼 많은 이름 - 인덱스 바인딩을 추가하십시오.
Map<String, Integer> rows = new HashMap<String, Integer>();
Map<String, Integer> cols = new HashMap<String, Integer>();
그런 다음 당신이 청소기 API를 원하는 경우
grid[rows.get("Row name")][cols.get("Column name")];
클래스에 그리드와
get(String rowName, String colName)
방법을 넣어 ... 그리드에 그 값을 받고.
편집 : 질문이 업데이트 된 것을보고 이름과 색인의 쌍이 행과 열 모두에서 동일하게 보입니다. 그래서 여기에 업데이트 된 버전입니다 : 주어진 답변이 만족하지 않은 경우
class SquareMap<V> {
private V[][] grid;
private Map<String, Integer> indexes;
public SquareMap(int size) {
grid = (V[][]) new Object[size][size];
indexes = new HashMap<String, Integer>();
}
public void setIndex(String name, int index) {
indexes.put(name, index);
}
public void set(String row, String col, V value) {
grid[indexes.get(row)][indexes.get(col)] = value;
}
public V get(String row, String col) {
return grid[indexes.get(row)][indexes.get(col)];
}
}
그것은 당신이 정말로 원하는 것을 말할 꽤 어렵다 같은지도를 사용할 수는 ... 시도 질문의 표현을 개선하고 2D 데이터 구조를 어떻게 사용할지 보여주는 몇 가지 예제 코드를 추가 할 수 있습니다. –
@ Young : 질문을 바꿔 봤습니다. 잘못 생각한 것 같으면 다시 편집하십시오. –