배열 Arrays

배열의 기능에 대해 간략한 예제로 알아본다.

import java.util.Arrays;

/**
 *
 * @author awj
 * 배열 Arrays
      배열의 기능에 대해 간략한 예제로 알아본다.
      ctrl+I 들여쓰기 정리
      shift+ctrl+O 자동 import     
 */

public class Arrays20180404 {

 public static void main(String[] args) {

  int[] A = new int[10];
  int N = 10;

  int[] B = new int[N];
  for(int i=0;i<A.length;i++)
   A[i]=i+1;
  
  System.out.print("A 배열 최초값 : ");  
  for(int i=0;i<A.length;i++)
   System.out.print(A[i]);
  System.out.println();    
  
  B = Arrays.copyOf(A, 6); // A[0] ~ A[5] 까지 copy
  
  System.out.print("A[0] ~ A[5] 까지 B[] 에 copy : ");
  for(int i=0;i<B.length;i++)
   System.out.print(B[i]);
  System.out.println();
  
  
  B = Arrays.copyOfRange(A, 1, 3); // A[1] ~ A[2] 까지 copy
  
  System.out.print("A[1] ~ A[2] 까지 B[] 에 copy : ");
  for(int i=0;i<B.length;i++)
   System.out.print(B[i]);
  System.out.println();

  B = A.clone();  // clone 복사
  
  System.out.print("B에 A를 clone 복사 후 같은지 비교 : ");
  boolean boo = A.equals(B);
  System.out.println(boo);  
  
  A[0] = -1;
  for(int i=0;i<A.length;i++)
   System.out.print(A[i]);
  System.out.println();
  for(int i=0;i<B.length;i++)
   System.out.print(B[i]);
  System.out.println();
    
  B = A;    //reference 복사
  
  System.out.print("B에 A를 reference 복사 후 같은지 비교 : ");
  boo = A.equals(B);
  System.out.println(boo);
  
  for(int i=0;i<A.length;i++)
   System.out.print(A[i]);
  System.out.println();
  for(int i=0;i<B.length;i++)
   System.out.print(B[i]);
  System.out.println();
  
  System.out.print("A[] 요소값 전부출력 : ");  
  System.out.println(Arrays.toString(A)); // 요소값 전부찍기

  A = new int[10];
  for(int i=0;i<A.length;i++)
   A[i] = i; 
  for(int i=0;i<B.length;i++)
   B[i] = (B.length-1-i) * 2;
  
  System.out.print("정렬 전 B[] : ");  
  System.out.println(Arrays.toString(B));
  
  Arrays.sort(B); // 정렬
  
  System.out.print("binary Search 로 값을 못찾을경우 : ");
  System.out.println(Arrays.binarySearch(B, 7)); // 값을 못찾을경우 음수
  
  System.out.print("binary Search 로 찾은 인덱스 위치 : ");
  System.out.println(Arrays.binarySearch(B, 12)); // 12가 존재하는 인덱스값
  
  System.out.print("A 배열값  : ");
  System.out.println(Arrays.toString(A)); // A 배열값 출력
  System.out.print("B 배열값  : ");
  System.out.println(Arrays.toString(B)); // B 배열값 출력


 }

}


출력

A 배열 최초값 : 12345678910
A[0] ~ A[5] 까지 B[] 에 copy : 123456
A[1] ~ A[2] 까지 B[] 에 copy : 23
B에 A를 clone 복사 후 같은지 비교 : false
-12345678910
12345678910
B에 A를 reference 복사 후 같은지 비교 : true
-12345678910
-12345678910
A[] 요소값 전부출력 : [-1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
정렬 전 B[] : [18, 16, 14, 12, 10, 8, 6, 4, 2, 0]
binary Search 로 값을 못찾을경우 : -5
binary Search 로 찾은 인덱스 위치 : 6
A 배열값  : [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
B 배열값  : [0, 2, 4, 6, 8, 10, 12, 14, 16, 18]

'SW > 자료구조' 카테고리의 다른 글

LinkedList 연결리스트  (0) 2017.01.25
ArrayList 어레이리스트  (0) 2017.01.23

+ Recent posts