Java - [답변]자바에서 동적배열로 쓸려면 어떻게 써야해요??
목록 추천  
추천수: 355 
제 목 [etc] [답변]자바에서 동적배열로 쓸려면 어떻게 써야해요??
작성자 박세청 작성일 2007/06/14 10:43


원문내용(장정한) -----------------------------------

자바에서 동적배열로 쓸려면 어떻게 써야해요??

C언어에서는 동적배열이 가능한데...

자바에서는 안되는것 같은데...

무슨 좋은 방법 없을까요??

ㅠㅠ

----------------------------------------------------

 

방법1.

 

동적배열이라고 말씀하시는게 일단 배열로 특정 크기 예를 10개로 생성후

이 갯수를 11개로 늘리는 것을 말씀 하시는 건지 궁금합니다..

만약에 그런 경우 자동으로 배열의 크기를 늘려 주는 경우는 없습니다.

로직으로 해결해야 합니다..

우선 배열의 공간이 순차적으로 채워지는 경우라면 마지막배열에 값이 들어 가 있을 경우

다시 배열크기를 늘려서 배열을 생성하시고 기존 배열값을 다시 채워주는 방식으로

처리 해야 할 거 같습니다. 자바에서 배열을 복사 해주는 방법이 있습니다..

이건 일반적인 C처럼 코딩을 할 경우 입니다. 

 

방법2.

java.util.Array 클래스를 사용하여 자바에서는 쉽게 해결 할 수 있습니다.

jdk 1.6버전이상에서 지원합니다.

 

import java.util.*;

class DynamicArray
{
 public static void main(String[] args)
 {
  int[] iArray = new int[3];
  for(int i=0;i<iArray.length;i++){
   iArray[i] = i;
  }
  
  System.out.println("배열크기: " + iArray.length);
  for(int i=0;i<iArray.length;i++){
   System.out.println("배열"+i+"값: " + iArray[i]);
  }
  System.out.println("++++++++++++++++++++++++++++++");
  iArray = Arrays.copyOf(iArray, iArray.length + 10);
  System.out.println("배열크기: " + iArray.length);

  for(int i=0;i<iArray.length;i++){
   System.out.println("배열"+i+"값: " + iArray[i]);
  }

 }
}

 

방법3.

기본 배열타입을 사용하지 않고 java.util 에 있는 ArrayList 등등의 랩퍼클래스를 사용 하시면

로직을 쉽게 구현 할 수 있습니다.

 

위의 답변이 맞는 지 구체적으로 구현 하고자 하는 내용을 몰라 일단은 적어 봅니다.

구체적으로 필요한 로직을 말씀해 주시면 구현해 드리겠습니다.





손님  silk road tibet tours yangtze cruise china tours canton fair hotels CONNECTORS (2010/03/03 10:57)
장정한  과장님.. 답변 감사..헤헤 많은 도움 되었어요...^^ (2007/06/14 11:16)
1
이전글 자바에서 동적배열로 쓸려면 어떻게 써야해요??
다음글 다음 글이 없습니다.

목록 추천