질문이요...콜렉션에대해
피스케스
리스트를 생성하는데요 이름대신에 번호를 줘서 나중에 그 번호를 파라미터로 넘겨주면서 activate(1);이런식으로 호출하게 되면
여러개 생성한 리스트중에 첫번째에 생성한 리스트를 선택해서 그 리스트에 대해 add같은 명령을 하려고요...
그래서 생각한것으로는 arraylist를 하나 만들어서
public List index = new ArrayList();
publicList temp = null; 뭐 이런식으로...
그리고 이 index에 컨스트럭터에 의해 생성되는 객체를 저장하려고요...
Class1{
for(int i=0; i 5; i++){
index = new LinkedList();
}
}
뭐 이런식으로... 예를들면 for문으로 5개의 객체를 만들어 주면 이게 index 0번부터 4번에 각각 저장되지 않을까요?
그리고 이제 activate 함수를 만들어서
public List activate(int a){
// 이부분에서 temp에 index 리스트의 a번째 내용을 받아와서 저장해주고 싶은데요...get은 아닌거같고...
return temp;
}
activate에서 리스트 하나가 선택이 되어야 그 선택된 리스트를 가지고 add든 뭐든 할텐데...
예를들면 add를
public void add(int value){
temp.add(new Integer(value));
}
이런식으로 하면...
나중에 메인에서
예를들면...
Class1list = new Class1();
list.activate(1);
list.add(1);
list.add(2);
list.add(3);
list.activate(2);
list.add(10);
list.add(20);
list.add(30);
이런식으로 하면요.. 1번 리스트에는 1 2 3 이 2번 리스트엔 10 20 30 이 들어가게...
이런거 하고싶은데요...
제가 생각하는게 잘못된걸까요? 혹시 가능한거면 activate부분에 어떻게 해줘야 할까요?
말로 설명하는것도 딸리고 코드도 잘 못짜지만 그래도 조금이라도 원하는 바를 설명하기위해 생각나는 코드를 대략 적어봤습니다..^^
조언부탁드립니다.. 아 한번 막히니 멍한것이 생각이 안나네요... ^^;;;
-
찬슬 2023-10-27
방법이 생각보다 여러가지가 있군요...^^ 근데 제가 한방법이 어렵게 한건가요? ^^;; 어설프게 알아서 그런가?ㅠㅠ 간단한 방법이 바로바로 안떠오르네요..^^;;;; 열심히 공부하는수밖에 없겠죠..ㅠㅠ
-
연자두 2023-10-27
currentList를 정의하고 activate할때 지정된 List를 currentList로 하고요. add에서는 currentList에 추가하면 되죠. 좀 어려운것만 하시는거 아닌가 싶네요.
-
죄암죄암 2023-10-27
ㅎㅎ 리스트에 또 리스트를 넣으면 되겠죠? ㅎㅎ
-
매1혻적 2023-10-27
앗... 지금 보니
class1(){
\tfor(int i=0; i 5; i++)
\tindex.add(new LinkedList());
}
으로 하면
public List activate(int a){
temp = (List) index.get(a);\t\t
return temp;
}
이렇게 해서 받아줄수 있지 않을까 하는데 맞게 하는걸까요?
제가 원하고자 하는 바를 구현할때 이런식으로 구현하는게 맞을까요?