G_0914_029

charl hi·2021년 9월 14일
0

국비

목록 보기
29/122

앞으로의 진도

얕은복사 깊은복사 어레이리스트 해쉬맵

얕은복사

package kr.or.kh21;

class Book{
	String book;
	String author;
	
	Book(String book, String author){
		this.book = book;
		this.author = author;
	}

	public String getBook() {
		return book;
	}

	public void setBook(String book) {
		this.book = book;
	}

	public void setAuthor(String author) {
		this.author = author;
	}

	public String getAuthor() {
		return author;
	}
	
	public void showInfo() {
		System.out.println(book+", "+author);
	}
	
}


public class ObjectCopy {

	public static void main(String[] args) {
		Book[] library = new Book[5];
		Book[] copylibrary = new Book[5];
		
		for(int i=0; i<library.length; i++) {
			library[i] = new Book("태백산맥", "조정래");
		}
		
		//**Arraycopy 얕은복사
		System.arraycopy(library, 0, copylibrary, 0, 5);
		
		library[0].setBook("나목");
		library[0].setAuthor("박완서");
		
		//for(자료형 변수명 : 배열)***
		for(Book book : library) {
			book.showInfo();
		}
		System.out.println("==========");
		for(Book book : copylibrary) {
			book.showInfo();
		}
		//***얕은복사 : 주소복사이므로 하나만 변경하면 다같이 변경!
		
	}

}

나목, 박완서
태백산맥, 조정래
태백산맥, 조정래
태백산맥, 조정래
태백산맥, 조정래
==========
나목, 박완서
태백산맥, 조정래
태백산맥, 조정래
태백산맥, 조정래
태백산맥, 조정래


깊은복사

package kr.or.kh21;

import java.util.Iterator;

public class ObjectCopy2 {

	public static void main(String[] args) {
		Book[] library = new Book[5];
		Book[] copylibrary = new Book[5];
		
		for(int i=0; i<library.length; i++) {
			library[i] = new Book();
			library[i].setBook("태백산맥");
			library[i].setAuthor("조정래");
		}
		//***깊은복사
		for(int i=0; i<copylibrary.length; i++) {
			copylibrary[i] = new Book();
			copylibrary[i].setBook(library[i].getAuthor());
			copylibrary[i].setAuthor(library[i].getAuthor());
		}
		//library 데이터 변경
		library[0].setBook("나목");
		library[0].setAuthor("박완서");
		
		for(Book book : library) {
			book.showInfo();
		}
		System.out.println("==========");
		for(Book book : copylibrary) {
			book.showInfo();
		}
		//***copylibrary는 변경안됨!!! : 깊은복사

	}

}

나목, 박완서
태백산맥, 조정래
태백산맥, 조정래
태백산맥, 조정래
태백산맥, 조정래
==========
조정래, 조정래
조정래, 조정래
조정래, 조정래
조정래, 조정래
조정래, 조정래


Hashmap

0개의 댓글