import java.util.Arrays;
배열 선언
int[] numbers={};
배열 요소 생성
numbers=new int[2];
=> 한 줄로
int[] numbers=new int[2];
선언과 동시에 배열 초기화
int[] arr={1, 2, 3};
2차원 배열 선언
int[][] arr = new int[4][3];
int[][] arr1 = {{2, 5, 3}, {4, 4, 1}, {1, 7, 3}, {3, 4, 5}};
<주의> 정렬하기 위해서는 배열만 가능!, String에서는 안됨!! 그러니 String일 경우 char[]배열로 바꿔서 정렬하면 됨.
정렬 (오름차순)
Arrays.sort(numbers);
정렬 (내림차순)
Arrays.sort(numbers, Collections.reverseOrder())
리스트의 길이
numbers.length
마지막 값 가져오기
numbers[numbers.length-1]
리스트 값 모두 가져와 출력하기
Arrays.toString(numbers)
String answer="hello";
문자열의 길이 가져오기
answer.length()
문자열의 한 문자 가져오기
answer.charAt(i)
만약, 문자가 숫자이며 이를 Integer.valueOf()로 바꾸면 유니코드 값으로 바뀜.!
그래서 제대로 된 숫자로 바꾸기 위해서 아래의 자료형 변환 부분에서 찾아 봐라!! (문자-> 숫자)
문자열에서 해당 범위에 있는 문자열 반환, to는 범위에 포함되지 않음.
answer.substring(int from, int to)
문자열의 내용이 같은지 확인하기 (true, false)
answer.equals("ll")
문자열을 문자 배열(char[])로 변환하여 반환
answer.toCharArray()
String[] answer={'h', 'e', 'l', 'l', 'o'};
문자열 검색 (true, false)
answer.contains("a");
<주의> ()괄호 안에 'a'가 들어가면 안됨!!
문자열 치환(Repalce)
replace([기존문자],[바꿀문자])
answer.replace("a", "");
//이러면 a가 사라짐.
문자열 치환(ReplaceAll)
replaceAll([정규식],[바꿀문자])
첫 번째 인자 값이 정규식으로 들어가기 때문에 특수 문자로 치환이 안된다.
ex) 정규표현식 [aeiou] 의미 : a, e, i, o, u라는 값을 의미
문자열을 대문자와 소문자로 변환
<대문자 -> 소문자>
.toLowerCase()
<소문자 -> 대문자>
.isUpperCase()
문자가 대문자인지 소문자인지 구분
대문자인지?
Character.isUpperCase(my_string.charAt(i))
소문자인지?
Character.isLowerCase(my_string.charAt(i))
배열은 그냥 []으로 가져오면 되고, length을 쓰면 길이 가져와짐.
String 배열이든, interger 배열이든!
근데 그냥 문자열로 String이면 length()을 써야 하고, []을 쓰는 것이 아닌, charAt(i)으로 가져와야함.
문자를 숫자로 바꿈.(아스키 코드에 맞게)
char c;
int k=(int)c;
숫자를 문자로 바꿈.(아스키 코드에 맞게)
int k=48; / 97
System.out.println((char)k);
=>'0' / 'a'
int to char
int k=8;
char m= Character.forDigit(k , 10);
m='8'
숫자를 문자열로 바꿈
int n=123
String m=String.valueOf(n);
String m1 = n+"";
문자를 숫자로 바꿈
char c = '1';
int n = Character.getNumericValue(c);
이 방식을 외우기 어려우면, 그리고 위 방법이 더 오래 걸림..
my_string.charAt(i)-'0'
int to char(숫자를 문자로 바꿈)
int value_int =1;
char value_char2 = (char)(value_int +'0');
=> '1'
문자열(String)을 문자의 배열(char[])로 바꿈
String my_string;
char[] ch = my_string.toCharArray();
배열이 되면 ch[i]로 쓸 수 있음!
문자열이라서 값을 charAt()로 가져와야 했던건데 이를 해결할 수 있음!!
배열을 리스트로 바꿈.
Arrays.asList() 메소드 사용
ex)
String[] arr = { "A", "B", "C" };
// 배열 -> List로 변환
List<String> list = Arrays.asList(arr);
ArrayList<Integer,>를 int[]으로 반환하고 싶을 때
return answer.stream().mapToInt(x -> x).toArray();
근데 이 방법은 비추.. 시간이 소요됨. 차라리 반환 값을 List<Integer.>으로 바꿔주는 게 훨씬 나음 (프로그래머스에서)
String 배열을 하나씩 잘라서 넣는것 얘는 String 형으로 할 수 있음.
String[] answer = my_string.split("");
비슷하게 String을 char 배열로 바꾸기 위해 toCharArray()로 할 수 있음(위에 작성된 것 참고)
import java.util.*;
최댓값을 찾기 위해서
Math.max(a, b);
값을 바꾸는 swap 함수를 쓰고 싶다면?
Collections.swap(list, num1, num2);
여기서 중요한 점은 list는 배열이 아닌 ArrayList를 사용해야 한다!!!!!!
만약 그냥 String 배열을 ArrayList로 바꾸고 싶다면,
List list = Arrays.asList(myString.split(""));
으로 쓰면 됨.
A