안드로이드 개발 질문/답변
(글 수 45,052)
ArrayList<String> sel = new ArrayList<String>();
sel.add(23,"23");
이런식으로 변수 설정한 다음에 바로 23번 위치에 값을 넣을 수는 없나요? 자꾸 에러가 나서...
처음 부터 넣는게 아닌 특정 순간에 위치에 넣고 싶습니다.
방법 좀 알려주세요.
2010.11.01 21:58:30
저렇게 쓰실거면 배열을 쓰셔야죠 물론 리스트를 생성할때 생성자에 갯수를 넣어 주면 그만큼의 메모리를 할당해서 빈리스트를 만들긴 하지만요 리스트를 쓴다는것은 배열처럼 크기를 정해놓지않은 상태에서 그안의 인스턴스끼리 서로의 참조를 공유하는데 있습니다.
2010.11.01 22:43:19
ArrayList를 그렇게 쓰려면 23개를 미리 add 해놓고 사용하셔야 합니다. Class를 하나 더 만들어서 안에 index 변수 값을 넣어서 해당 Class로 ArrayList 를 만드시던가, 아니면 map 과 같은 자료구조를 사용하셔야 겠네요.
2010.11.01 23:13:01
흠 왜 인덱스를 그렇게 띄워서 쓰실려는지는 잘 모르겠지만 ArrayList는 그런목적으로 사용되어 지는게 아니에요
저 23이라는 인덱스값을 키값으로 쓰고 싶으시면 맵을 dingpong님 말씀처럼 Map을 이용하세요
Map<Integer, String> map = new HashMap<Integer, String>();
map.put(23, "23");
흠 저걸이용해서 하고싶으신게 뭔지 적어주시면 답을 찾는데 도움이 될듯 싶군요



