자료구조

자료구조 생성 방법(new) 사용법
ArrayList(List)
List<String> list = new ArrayList<String>();
list.add("temp");
list.size();
list.get(i);
list.remove(i);
Stack
Stack<Integer> stack = new Stack<>();
stack.isEmpty
stack.peek(); //마지막 값
stack.pop(); //스택 마지막 값 빼기
stack.add(i); //값 넣기
queue
Queue<Integer> q = new LinkedList<>();
q.add(i); //추가
q.offer(i); //추가
q.poll(); //삭제
q.peek(); //queue의 첫번째 값
q.isEmpty 비어있는지 여부
Set
Set<String> setExample = new HashSet<String>();
Iterator<String> iterator = setExample.iterator();
while(iterator.hasNext()){
    String getin = iterator.next();
}
Map Map<K,V> map = new HashMap<K,V>(); 
Map<String, Integer> m = new HashMap<>();
//만약 값이 있을 때 value값 늘려주는 법
if(m.get(words[i]) == null)
   m.put(words[i], 1); //값이 없다면 1을 넣어준다
else
  //만약 값이 있다면 해당 value값을 가져와서 +1 해준다.
   m.put(words[i], m.get(words[i])+1 ) ;

map.put("asdf",123);
map.get(key) -> value 출력
map.keySet...
배열 int[] arr = new int[100];  
우선 순위 큐 //우선순위 낮은 숫자 순 = 오름차순
PriorityQueue<Integer> pq = new PriorityQueue<>();
//우선순위 높은 숫자 순 = 내림차순
PriorityQueue<Integer> pq = new PriorityQueue<Collection.reverseOrder());
pq.add(i);// 삽입
pq.poll() ;// 삭제
pq.isEmpty();//여부
pq.peek();// 맨 앞 값

pair

Pair 클래스 생성

//pair 클래스 생성
public Pair(){
	private int x; //은닉화 
	private int y;
    //생성자
    Pair(int x, int y){
    	this.x = x;
        this.y = y;
    }
}

queue 생성 및 추가, 추출

//queue 선언
Queue<Pair> q = LinkedList<>();

//queue 추가
q.add(new Pair(x,y));

//queue 추출
int first = q.peek().x;
int second = q.peek().y;

//queue 삽입
Pair temp = new Pair(10,20); //초기값 셋팅
temp.x = 20; //변경
q.add(temp); //queue에 삽입

 

형변환

관련 변환  
String String to int String str = "123";
int num = Integer.parseInt(str);
int to String int num = 123;
String str = Integer.toString(num);
Char char to int 방법1)
char c1 = '9'
int num = c1 - '0'; //아스키 코드이용

방법2)
char s1 = "4
int (s1);
int to char int num = 9;
char c = (char) num;

 

기타

    인덱스 접근
String   char tempChar = s[i]; [X]
char tempChar = s.charAt(i);

str.length(); //String의 길이
substring   String str = "g2g2g2";
String str2 = str.substring(3);
str2 = "g2g"

str2.substring(0,3); //0부터 세글자 이게 더 많이씀
equals   if(str.equals(str2)) //같으면 true, 틀리면 false
StringBuilder append 활용 StringBuilder sb = new StringBuilder();
sb.append("hello");
sb.append(" world");
//가변성개념인데 무변하면 힙메모리가 자꾸 차는데 이건 추가하는 개념이다.

 

'Algorithm > ***Algorithm Java' 카테고리의 다른 글

[백준] 1062_가르침  (0) 2022.03.01
[백준]7576_토마토(bfs/dfs)  (0) 2022.02.23
[백준] 15684_사다리 조작(DFS) java  (0) 2022.02.23
백준_17090_미로탈출하기  (0) 2022.02.16
[형 변환 정리] java, C++  (0) 2021.11.14

+ Recent posts