본문 바로가기

반응형

전체 글

Java - 스택과 큐 (Stack & Queue) 스택 - LIFO 구조, 마지막에 저장된 것을 제일 먼저 꺼내게 된다. 큐 - FIFO 구조, 제일 먼저 저장된 것을 제일 먼저 꺼내게 된다. 스택 - boolean empty() : 비어있는지 확인 - Object peek() : 맨위의 값 반환 꺼내지는 않는다. 비었을 때는 EmptyStackException 발생 - Object pop() : 맨위의 값 반환 꺼낸다. 비었을 때는 EmptyStackException 발생 - Object push(Object item) : 객체 저장 - int search(Object o) : 객체의 위치를 반환 못찾으면 -1 위치는 1부터 시작 큐 - boolean add(Object o) : 객체를 큐에 추가. 저장공간이 부족하면 IllegalStateExcept.. 더보기
Java - LinkedList 배열의 장점 : 구조가 간단하고 데이터를 읽는 데 걸리는 시간이 짧다. 단점 : 크기를 변경할 수 없다. 변경해야 하는 경우 새로운 배열 생성 후 복사해야한다. 메모리가 낭비될 수있다. 비순차적인 데이터의 추가, 삭제에 시간이 많이 걸린다. 단, 순차적인 추가 삭제는 빠르다. 이 단점을 보완한 것이 LinkedList!!!!! 배열과 달리 불연속적으로 존재하는 데이터를 연결 데이터의 삭제 : 단 한 번의 참조 변경 만으로 가능 데이터의 추가 : 한번의 Node객체생성과 두 번의 참조변경만으로 가능 단점 - 접근성이 나쁘다. 불연속 적이라서 한번에 찾아 가는것은 불가능하다. 여러번 지나가야한다. >> 보완한것이 이중연결리스트 접근성 향상 > 데이터가 많을 수록 접근성이 떨어진다. >> 더 보완한 것이 이중.. 더보기
Java - ArrayList ArrayList - Vector를 개선. 구현 원리와 기능적으로 동일 - 동기화 처리 안되어있다.(Vector은 동기화 처리 됨) - List 인터페이스를 구현하므로, 저장순서가 유지되고 중복을 허용한다. - 데이터의 저장공간으로 배열을 사용한다.(배열 기반) ArrayList의 메서드 - 생성자 ArrayList() ArrayList(Collection c) ArrayList(int initCapacity) : 배열의 길이 설정 - boolean add(Object o) : 성공 true 실패 false - void add(int index, Object o) : 추가할 위치 - boolean addAll(int index, Collection o) : 성공 true 실패 false - boolean.. 더보기
Java - 컬렉션 프레임웍(collections framework) List : 순서가 있는 데이터의 집합. 데이터의 중복을 허용한다. ArrayList, LinkedList, Stack, Vector 등 Set : 순서가 없는 데이터 집합. 데이터의 중복을 허용하지 않는다. HashSet, TreeSet 등 Map : 키(key)와 값(value)의 쌍(pair)으로 이루어진 데이터의 집합. 순서는 유지되지 않으며, 키는 중복을 허용하지 않고, 값은 중복을 허용한다. HashMap, TreeMap, Hashtable, Properties 등 Collection 인터페이스의 메서드 - boolean add(Object o) / boolean addAll(Collection c) : 추가 - void clear() : Collection의 모든 객체를 삭제 - boolea.. 더보기
Java - 형식화 클래스 java.text 패키지의 DecimalFormat, SimpleDateFormat DecimalFormat - 숫자와 날짜를 원하는 형식으로 쉽게 출력 가능(숫자, 날짜 > 형식 문자열) double number = 1234567.89; DecimalFormat df = new DecimalFormat("#,#E0"); String result = df.format(number); - 형식 문자열에서 숫자와 날짜를 뽑아내는 기능(형식 문자열 > 숫자, 날짜) DecimalFormat df = new DecimalFormat("#,###.##"); Number num = df.parse("1,234,567,89"); double d = num.doubleValue(); ** Integer.parseInt.. 더보기
Java - 날짜와 시간 java.util.Date - 날짜와 시간을 다룰 목적으로 만들어진 클래스(JDK 1.0) - Date의 메서드는 거의 deprecate되었지만, 여전히 쓰이고 있다. java.util.Calendar - Date클래스를 개선한 새로운 클래스(JDK 1.1). 여전히 단점이 존재 java.time패키지 - Date와 Calendar의 단점을 개선한 새로운 클래스를 제공(JDK1.8) Calendar 클래스 - 추상클래스 이므로 getInstance()를 통해 구현된 객체를 얻어야 한다. Calendar calendar = Calendar.getInstance(); - get()으로 날짜와 시간 필드 가져오기 - int get(int field) Calendar cal = Calendar.getInstan.. 더보기
Java - 래퍼클래스(wrapper) 8개의 기본형을 객체로 다뤄야할 때 사용하는 클래스. 기본형 래퍼클래스 활용예 boolean Boolean(boolean value) Boolean(String s) Boolean b = new Boolean(true); Boolean b = new Boolean("true"); char Character(char value) Character c = new Character('a'); byte Byte(byte value) Byte(String str) Byte b = new Byte(10); Byte b = new Byte("10"); short Short(short value) Short(String s) new Short(10) new Short("10") int Integer(int value).. 더보기
Java - StringBuilder 클래스 / Math 클래스 StringBuilder 클래스 - StringBuffer는 동기화 되어 있다. 멀티 쓰레드에 안전(thread-safe) - 멀티 쓰레드 프로그램이 아닌 경우, 동기화는 불필요한 성능저하 이럴 땐 StringBuffer대신 StringBuilder를 사용하면 성능 향상 Math 클래스 - 소수점 아래 세번째 자리에서 반올림 하기 1. 원래 값에 100 곱한다. 90.755 * 100 > 9075.53 2. 결과에 Math.round()를 사용한다. Math.round(9075.53) > 9076 3. 위의 결과를 다시 100.0으로 나눈다. 9076 / 100.0 > 90.76 Math 메소드 - static double abs(double a) static float abs(float a) stati.. 더보기

반응형