JAVA - 배열 복사 ArrayCopy , 객체 배열

Posted 02 2, 2009 13:38, Filed under: Language/JAVA

▣ 기본 데이터 타입을 이용한 배열 클래스의 예
◈ byte[]
◈ int[]
◈ long[]
◈ float[]
◈ double[]
◈ char[]

▣ 클래스를 이용한 배열 클래스의 예
◈ String[]
◈ Image[]

기본 데이터 타입뿐만 아니라 클래스에도 브래킷([])를 붙여서 새로운 배열 데이터 타입을 만들 수 있습니다. 결론적으로 배열 데이터 타입은 브래킷([])이 붙은 새로운 형태의 클래스입니다. 배열 데이터 타입을 아예 배열 클래스라고 부르겠습니다. 배열 클래스는 new를 이용해서 객체를 생성하며, 배열의 개수를 지정하기 위해서 브래킷([]) 안에 첨자를 사용합니다.

--------------------- 배열 복사 ----------------------------------------

public class ArrayTest {
        int arr[] = new int[10];
    int[] source  = new int[]{5, 4, 6, 9, 7, 9};
    int[] target = {100, 200, 300, 400, 500, 600,700};
   
    public void arrayCopy1()
    {
        // System.arraycopy(); 를 이용한 선택 부분 복사
        // source의 2번째(0,1,2번째) 요소부터 4개가 복사
        // target에서는 3번째(0,1,2,3번째) 자리에 복사
            System.arraycopy(source, 2, target, 3, 4);
            for(int i=0; i<target.length; i++) {
                System.out.println("target["+i+"]:" + target[i]);
            }
            System.out.println();
                int[] source  = new int[]{5, 4, 6, 9, 7, 9};
                //clone()을 이용한 메모리 모두 복사
                int[] target = (int[])source.clone(); // 다운 캐스팅    
       for(int i=0; i<target.length; i++){
            System.out.println("target["+i+"] : " + target[i]);
        }
    }

        public static void main(String[] arr)
        {
                ArrayTest at = new ArrayTest();
                at.arrayCopy1();
        }
}


--------------------- 객체 배열 ----------------------------------------

public class ArrayTest {
    private String name;
    private String kind;
   
    public ArrayTest(String name, String kind) {
        this.name = name;
        this.kind = kind;
    }
    public String toString() {
        return this.kind + ":" + this.name;
    }
        public static void main(String[] arr)
        {
        //1. 객체배열의 생성
        ArrayTest[] dog = new ArrayTest[5];
        for(int i=0; i<dog.length; i++)    
        {
            System.out.println("Dog[" + i + "] : " + dog[i]);
        }
       
        //2. 객체배열의 참조변수에 메모리할당
        dog[0] = new ArrayTest("쫑쫑이","불독");
        dog[1] = new ArrayTest("워리","똥개");
        dog[2] = new ArrayTest("개똥이","진도개");
        dog[3] = new ArrayTest("발리","푸들");
        dog[4] = new ArrayTest("투덜이","잡종");        
        for(int i=0; i<dog.length; i++)
        {
                System.out.println("Dog[" + i + "] : " + dog[i]);
        }
        }
}
/*
Dog[0] : null
Dog[1] : null
Dog[2] : null
Dog[3] : null
Dog[4] : null
Dog[0] : 불독:쫑쫑이
Dog[1] : 똥개:워리
Dog[2] : 진도개:개똥이
Dog[3] : 푸들:발리
Dog[4] : 잡종:투덜이
*/

참고 : 소설같은 자바 ||
※ 위 내용은, 여러 자료를 참고하거나 제가 주관적으로 정리한 것입니다.
   잘못된 정보나 보완이 필요한 부분을, 댓글 또는 메일로 보내주시면 많은 도움이 되겠습니다.
02 2, 2009 13:38 02 2, 2009 13:38


Trackback URL : http://develop.sunshiny.co.kr/trackback/115

Leave a comment

« Previous : 1 : ... 564 : 565 : 566 : 567 : 568 : 569 : 570 : 571 : 572 : ... 648 : Next »

Recent Posts

  1. HDFS - Python Encoding 오류 처리
  2. HP - Vertica ROS Container 관련 오류...
  3. HDFS - Hive 실행시 System Time 오류
  4. HP - Vertica 사용자 쿼리 이력 테이블...
  5. Client에서 HDFS 환경의 데이터 처리시...

Recent Comments

  1. 안녕하세요^^ 배그핵
  2. 안녕하세요^^ 도움이 되셨다니, 저... sunshiny
  3. 정말 큰 도움이 되었습니다.. 감사합... 사랑은
  4. 네, 안녕하세요. 댓글 남겨 주셔서... sunshiny
  5. 감사합니다 많은 도움 되었습니다!ㅎㅎ 프리시퀸스

Recent Trackbacks

  1. Source Source %M
  2. Mysql - mysql 설치후 Character set... 멀고 가까움이 다르기 때문 %M

Calendar

«   03 2019   »
          1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
31            

Bookmarks

  1. 위키피디아
  2. MysqlKorea
  3. 오라클 클럽
  4. API - Java
  5. Apache Hadoop API
  6. Apache Software Foundation
  7. HDFS 생태계 솔루션
  8. DNSBL - Spam Database Lookup
  9. Ready System
  10. Solaris Freeware
  11. Linux-Site
  12. 윈디하나의 솔라나라

Site Stats

TOTAL 2486337 HIT
TODAY 1710 HIT
YESTERDAY 1828 HIT