2014-03-04 11 views
0

플레이어 목록과 배열이있는 배열을 만들고 싶습니다. 어떤 유형의 배열이 가장 적합할지 모르겠습니다.어떤 종류의 배열을 사용해야합니까?

그것은이 같은 정보를 보유합니다 : 그것은 그 날 지점하시기 바랍니다 경우

PlayerName : Arena 
John : Arena1 
Harry : Arena1 
Dave : Arena2 
Will : Arena2 

당신은 많이 감사합니다 도움이있어, 내가 자바에 새로운 오전이 사이트에 표시 볼 수 없습니다 방향 :

+0

배열의 한 종류가있다 :'YourClassOrPrimitiveType [] anArray'. 사용하고자하는'Collection'을 의미한다면, 더 많은 데이터를 저장할 필요가 없다면'ArrayList'에 의해 지원되는'List'를 사용하십시오. –

+0

2 차원 배열? –

+0

이 데이터를 쌍으로 저장해야합니까, 아니면 어떤 플레이어가 경기장에 있는지도 알아야합니까? –

답변

5

그것은 선수에서 경기장으로의 매핑입니다.

내가 만들 것 class Playerclass Arena, 그래서 당신의 데이터 구조는 다음과 같습니다

Map<Player, Arena> playerToArena = new HashMap<Player, Arena>(); 
나는이 경우 배열을 사용하지,하지만, 당신이 주장하는 경우에, 당신이 비슷한을 작성할 수 있습니다

이 :

class Pair { 
    Player player; 
    Arena arena; 
} 

Pair[] array = new Pair[10]; 
// or 
List<Pair> arrayList = new ArrayList<Pair>(); 
0

이것은지도를 사용하여 얻을 수 있습니다. 예 :

Map<String, String> map = new HashMap<String, String>(); 
map.put("name", "demo"); 
map.put("fname", "fdemo"); 
// etc 

map.get ("name"); // 더욱 정확한 당신의 예제로 돌아갑니다 "데모" 선언하는 것입니다 : 배열의 한 종류가있다

List<HashMap<String, String>> data = new ArrayList<HashMap<String, String>>(); 
data.add(0, map); 
data.get(0).get("name"); 
0

. 배열에서는 인덱스를 넣고 해당 항목을 꺼냅니다. 배열을 사용하여이 정보를 나타내려면 Player와 Arena 값을 설정할 수있는 위치를 포함하는 클래스를 만든 다음 각 객체를 배열에 저장합니다.

0

당신은 플레이어 이름과 경기장 이름이 포함 된 컨테이너 클래스를 생성하고 배열 (또는 다른 컬렉션)

private static final class ArenaPlayerContainer { 
    private final String playerName; 
    private final String arenaName; 

    public String getPlayerName() { 
     return playerName; 
    } 

    public String getArenaName() { 
     return arenaName; 
    } 

    private ArenaPlayerContainer(String playerName, String arenaName) { 

     this.playerName = playerName; 
     this.arenaName = arenaName; 
    } 
} 

은 다음 그냥 예를

에 대한 ArenaPlayerContainer[] arr = new ArenaPlayerContainer[10];
0

I를 만들 수 있습니다를 만들 수 있습니다 확실히 얻지는 못하지만 대신 사용자가 해시 맵 또는 해시 테이블을 사용하고자한다고 가정합니다 (스레드를 사용하는 경우 해시 테이블 사용).

HashMap

일부 사용자 정의 클래스와 플레이어 명, 스택 오버플로, 워드, 보도를 확장하고지도를 사용할 수있는이 방법 : HashMap <CustomClass, Arena>

관련 문제