본문 바로가기

알고리즘/알고리즘 개념 정리

[java] Array

Array

1) 배열 생성 시 크기 결정됨 ->, 크기 고정, 불특정 다수 객체 저장 문제

2) 객체 삭제 시 해당 인덱스가 비게 된다. 듬성듬성 옥수수

3) 참조 변수이다.

 

선언

선언 + 값 결정 String[] 변수명 = {"A", "B", "C"};
선언 + 나중 값 결정  String[] 변수명 = null;
변수명 = new String[] {"A", "B", "C"};
선언 + 크기 지정 + 나중 값 결정  String[] 변수명 = new String[길이];

 

값 대입

변수명[인덱스] = 값;

배열.add <-- 이런거 없음

배열 길이

변수명.length;

 

형 변환

String 문자열 -> char[] 한글자씩 String str = "ABCDE";
char[] charArray = str.toCharArray();
array -> List String[] arr = {"A", "B", "C"};
List<String> list = new ArrayList<String>(Arrays.asList(arr));
list.add(인덱스, 값); 
int -> int[]
int -> String -> int[]
int num = 12345;
String str = Integer.toString(num); //int -> String
int[] intArray = new int[num.length()];
for(int i=0; i<num.length(); i++){
    intArray[i] = str.charAt[i] - '0'; // String -> int[]
   }
int -> int[] int num = 12345;
int[] intArray = Stream.of(String.valueof(num)
                              .split("")
                              .toArray();
Arrays.toString(intArray); // [1,2,3,4,5]
   
   
   
   
   

 

자주 사용

최대값  Arrays.sort(arr); Arrays.sort(arr);
arr[arr.length-1] //최대값
arr[0] //최소값
최대값  Arrays.stream(arr) Arrays.stream(arr).max().getAsInt(); //최대값
최대값 인덱스 구하기  for문 for(int i=0; i <arr.legth; i++){
     if(arr[i] > max){
         max = arr[i];
         maxIndex =i;
      }//if end
 }//for end
배열 값 비교 배열 -> arrayList 형변환
contains(값)
 
배열 자르기 for문  
배열 자르기 Arrays.copyOfRange() 이용 int[] parsingArray = Arrays.copyOfRange(array,start,end);
     

 

배열 출력

반복문 for
Arrays.toString(arr)  
   
   

 

배열 복사

for 문  
System.arraycopy(원본 객체, 시작숫자, 새 객체, 시작숫자, 길이)  

 

배열 정렬

Arrays.sort(arr); 오름차순  
Arrays.sort(arr,Collections.reverseOrder()); 내림차순 Integer 로 받아야함

 

'알고리즘 > 알고리즘 개념 정리' 카테고리의 다른 글

Greedy  (0) 2024.08.04
DFS  (0) 2024.08.02
[java] Math 클래스, String  (0) 2021.09.27
[java] stream  (0) 2021.09.27
[java] Comparable, Comparator  (0) 2021.09.27