항상 파이썬을 사용해 알고리즘을 공부했지만, 이번 코딩 시험을 보면서 JAVA를 써야했다.
그래서 나처럼 급하게 JAVA를 사용하게 될 사람들을 위한 '참고하면 좋을 몇가지 팁'을 모아보았다.
public static void swap(final int[] arr, final int pos1, final int pos2){
final int temp = arr[pos1];
arr[pos1] = arr[pos2];
arr[pos2] = temp;
}
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.Arrays;
import java.util.StringTokenizer;
public class practice {
public static void main(String[] args) throws IOException {
// TODO Auto-generated method stub
BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); // 사용자로부터 한 줄 입력을 받는다.
// 어떤 기준으로 문자열을 자르고 싶은 경우 String Tokenizer를 사용한다. 생성자로 자르고 싶은 string을 넣는다.
StringTokenizer st = new StringTokenizer(br.readLine(), " "); // 기본 생성자는 공백을 기준으로 자른다. <"안녕 하세요" 입력>
// System.out.println(st.nextToken()); // 안녕
// System.out.println(st.nextToken()); // 하세요
// System.out.println(st.nextToken()); // error
// 반복문으로 출력하기
int n = st.countTokens(); // 처음에 st의 개수를 입력 받음.
for (int i=0;i<n;i++) {
// while(st.countTokens()!=0) { // counttokens을 여러번 하는거보단 st의 개수를 처음부터 입력받는 것이 나을 것 같다.
System.out.println(st.nextToken());
}
}
}
import java.util.ArrayList;
import java.util.List;
public class pr {
public static void main(String[] args) {
// TODO Auto-generated method stub
List idolList = new ArrayList();
idolList.add("첫번째 요소");
idolList.add("두번째 요소");
idolList.add(new String("세번째 요소"));
idolList.add(1, "인덱스 1에 삽입 요소");
System.out.println(idolList.get(0).toString()); // 첫번째 요소
System.out.println(idolList.get(1).toString()); // 인덱스 1에 삽입 요소
System.out.println(idolList.get(2).toString()); // 두번째 요소
}
}
List idolList = new ArrayList();
idolList.add("1");
idolList.add("2");
idolList.add(new String("3"));
idolList.add(1, "1.5");
Collections.sort(idolList);
for (Object obj : idolList) {
System.out.println(obj.toString()); // 1 - 1.5 - 2 - 3
}
Iterator iterator = list.iterator();
while (iterator.hasNext()) {
System.out.println((String)iterator.next());
}
/*
- 출력 결과 -
첫번째 요소
인덱스 1에 삽입 요소
두번째 요소
세번째 요소
*/
for(Object obj : list) {
System.out.println((String)obj);
}
int idx = list.indexOf("두번째 요소");
System.out.println(list.get(idx).toString());
System.out.println(list.contains("두번째 요소")); // true
System.out.println(list.contains("네번째 요소")); // false
HashMap<String, Integer> map = new HashMap();
map.put("아이유", 25);
map.put("아이린", 27);
map.put("설현", 40);
System.out.println(map.get("아이유")); // 35
System.out.println(map.values()); // [40, 25, 27]
Set<Entry<String, Integer>> set = map.entrySet();
Iterator<Entry<String, Integer>> itr = set.iterator();
while (itr.hasNext()) {
Entry<String, Integer> e = (Entry<String, Integer>)itr.next();
System.out.println("이름 : "+e.getKey()+", 나이 : "+e.getValue());
}
boolean [] bitlist;
bitlist = new boolean[10];
Arrays.fill(bitlist, false);
for (boolean obj : bitlist) {
System.out.println(obj); // false
}
System.out.println(bitlist.length);
int[] arr = {2,3,1,378,19,25};
Arrays.sort(arr);
System.out.println(Arrays.toString(arr));
int[][] intArray = new int[5][3];
System.out.println(intArray.length); // 행의 개수
System.out.println(intArray[0].length); // 열의 개수
//다차원 배열의 할당 선언
boolean [] [] booleanArrays = { {true, true}, {false, false, false}, ... };
Stack<String> s = new Stack<String>();
s.push("A");
s.push("B");
s.push("C");
s.push("D");
System.out.println(s.peek()); // D
while(!s.empty()) {
System.out.println(s.pop()); // D - C - B - A
}
Queue<String> q = new LinkedList<String>();
q.offer("A");
q.offer("B");
q.offer("c");
q.offer("D");
System.out.println(q.peek()); // A
System.out.println(q.remove()); // A (queue에서 사라짐)
while (!q.isEmpty()) {
System.out.println(q.poll()); // B - C - D
}
String str = "일이삼사오";
System.out.println(str.charAt(3));
String s1 = "Joos";
String s2 = "Joos";
String s3 = new String ("Joos");
String s4 = "Juilet"
System.out.println(s1.equals(s2)); //true
System.out.println(s1.equals(s3)); //true
System.out.println(s1.equals(s4)); //false
Integer.parseInt("23") // Valueof 보다 빠르다.