자바 코테 대비…
아무래도 c++만 주력 으로 해 왔는데… 프로그래머스 코테가
c++은 사용 못하던…
java 사용은 거의 실질적인 것들만 해 왔어서
알고리즘 풀이나 데이터 타입 등 익숙지가 않다..
그래서 필요한것들 추려서 준비 해야겠다..
Queue / Stack
Queue<Integer> q = new LinkedList<Integer>();
q.add(1);
q.add(2);
while(!q.isEmpty())
System.out.println(q.poll());
Stack<Integer> s = new Stack<Integer>();
s.push(1);
s.push(2);
while(!s.isEmpty()) {
System.out.println(s.pop());
}
Priority Queue
import java.util.PriorityQueue;
PriorityQueue<String> pq = new PriorityQueue<String>();
pq.add("ab");
pq.add("bb");
pq.add("aaa");
while(!pq.isEmpty()){
System.out.println(pq.poll());
}
- 역순 -
improt java.util.Collections;
PriorityQueue<String> rpq = new PriorityQueue<String>(Collections.reverseOrder());
Set
package test;
import java.util.HashSet;
import java.util.Iterator;
public class test {
public static void main(String[] args) {
// TODO Auto-generated method stub
HashSet<Integer> hs = new HashSet<Integer>();
hs.add(1);
hs.add(2);
hs.add(10);
hs.add(3);
hs.add(4);
hs.add(-3);
// renove : 삭제, 있으면 true, 없으면 false 반환
if(hs.remove(10))
System.out.println("yes it was");
else
System.out.println("No");
if(hs.remove(10))
System.out.println("yes it was");
else
System.out.println("No");
// contains : 존재하는지
if(hs.contains(1))
System.out.println("Yes");
else
System.out.println("No");
System.out.println("셋 갯수 : " + hs.size());
// 자동 변환형
for( int a : hs) {
System.out.println(a);
}
System.out.println();
// iterator 형
Iterator<Integer> iter = hs.iterator();
while(iter.hasNext()) {
System.out.println(iter.next());
}
}
}
MAP
HashMap<Integer,Integer> m = new HashMap<Integer,Integer>();
m.put(1,5);
System.out.println(m.remove(1));
m.put(1,3);
m.put(2,4);
System.out.println("key 1 : value : " + m.get(1));
if(m.containsKey(1))
System.out.println("1 yes");
if(m.containsValue(3))
System.out.println("v3 yes");
System.out.println(m);
for(int key : m.keySet()) {
System.out.println("key : " + key + " value : " + m.get(key));
}
for(int value : m.values()) {
System.out.println("value : " + value);
}
Pair ( 자작)
static class Pair implements Comparable<Pair>{
int first;
int second;
public Pair(){}
public Pair(int a, int b) {
this.first = a;
this.second = b;
}
public void Set(int a, int b) {
this.first = a;
this.second = b;
}
@Override
public int compareTo(Pair o) {
if(this.first > o.first)
return -1;
else if( this.first == o.first) {
if(this.second > o.second)
return -1;
else
return 1;
}
else
return 1;
}
}
소트
Arrays.sort(배열);
Arrays.sort(배열,collections.reverseOrder());