자바 문법 - 배열, 정렬, set
1. python 처럼, 배열을 받아와서 split 시키기
String[] myarr = s.split("")
2. 특정 값의 index 불러오기
myarr.indexOf(값) -> 젤 가까운 값
3. valueOf주의 사항. => String.valueOf(바꿀 값)
사실상 . parseInt같은 String 버전이다.
4. 배열 정렬
import java.util.Arrays; -> 까먹지 말기
Arrays.sort(배열)
Arrays.sort(배열,Collections.reverseOrder())
5.list 정렬?
List<String> list = new LinkedList<String>();
list.add(“김철수”);
list.add(“김영희”);
list.sort();
6.char
- 대문자 A-Z: 유니코드 값 65-90
- 소문자 a-z: 유니코드 값 97-122
간격 32
7. String 대, 소문자
7-2. 문자 배열 대,소문자
8. 문자열의 특정 문자열들을 바꾸기
String numbers 일때,
numbers.replace("one",1)
9. 코테 풀다 자바의 배열 크기 제한이 거슬린다면?
import java.util.ArrayList;
ArrayList <Integer> mylist = new ArrayList<>();
mylist.add(i);
int [] answer = new int[mylist.size()];
for (int j = 0 ; j<mylist.size(); j++)
{
answer[j] = mylist.get(j);
}
return answer;
10. 백준?
import java.util.*;
class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int N = scanner.nextInt();
int [] Nlist = new int[N];
for (int i =0; i<N; i++)
{
Nlist[i] = scanner.nextInt();
}
int M = scanner.nextInt();
int[] Mlist = new int[M];
for (int i = 0; i < M; i++) {
Mlist[i] = scanner.nextInt();
}
HashSet<Integer> Nset = new HashSet<>();
for (int i : Nlist)
{
Nset.add(i);
}
for (int j: Mlist)
{
if(Nset.contains(j))
{
System.out.println(1);
}
else{
System.out.println(0);
}
}
}
}
Scanner scanner = new Scanner(System.in);
출력시는 + " " 와, print,println(한 줄 띄기)를 잘 활용하자.
11. set (O(1))
HashSet<Integer> myset = new HashSet<>();
myset.add(i)
if (myset.contains(j))
차집합
Set<Integer> difference = new HashSet<>(set1);'
difference.removeAll(set2);
교집합
intersection.retainAll(set2);
합집합
union.addAll(set2);
이렇게 쓴다. set1.할 일(set2) -> 다시 set1.size()
12. 반드시 기억해야 할! array.count(i)를 자바로
Collections.frequency(myarr,i)
13. Character를 INT
Character.getNumericValue(numString.charAt(i))
보통은, integer.~~ -> 하면 들어있는게 int로 바뀐다.
string.valueof()는 int가 string으로 포함한다.
하지만 , Character는 원래 없는 객체이고, int도 포함하기 때문에
character.ㅁ -> 로 바꿔줘야한다.
14. arraylist -> array로
String [] answer = new String [resultsub.size()] ;
for(int j = 0;j<answer.length; j++)
{
answer[j] = resultsub.get(j);
}
-> String[] answer = new String[resultsub.size()]; resultsub.toArray(answer);