본문 바로가기

반응형

전체 글

Java - Comparator와 Comparable 규칙! 음수를 리턴하면 자리 바꿈. 0 또는 양수를 리턴하면 자리 안바꿈 그래서 오름차순 할때 : 오른쪽이 크면 음수 (오른쪽이 앞쪽 인덱스) 내림차순 할때 : 왼쪽이 크면 음수 (오른쪽이 앞쪽 인덱스) 1. Comparator 인터페이스 구현 import java.util.ArrayList; import java.util.Collections; import java.util.Comparator; import java.util.List; class Student{ String name; int math; int science; Student(String name, int math, int science){ this.name = name; this.math = math; this.science = scie.. 더보기
Java - Arrays 배열을 다루기 편리한 메서드(static) 제공 package collection; import java.util.ArrayList; import java.util.Arrays; import java.util.List; public class ArraysTestMain { public static void main(String[] args){ int[] arr = {0,20,50,2,3,4,5,6,7,8,9,30}; String[] arrStr = {"aa","dd","AB"}; // 1. toString System.out.println(Arrays.toString(arr)); System.out.println(Arrays.toString(arrStr)); // 2. 복사 copyOf copyOfRan.. 더보기
Java - Iterator, ListIterator, Enumeration 컬렉션에 저장된 데이터를 접근하는데 사용되는 인터페이스 Iterator, ListIterator - ListIterator은 Iterator의 접근성을 향상시킨 것(단방향 > 양방향) - boolean hasNext() : 읽어 올 요소가 남아있는지 확인한다. 있으면 true, 없으면 false를 반환한다. - Object next() : 다음 요소를 읽어온다. hashNext()를 확인하고 사용 하는 것이 좋다. package collection; import java.util.*; public class CollectionMain2 { public static void main(String [] args){ // Iterator은 Collection의 메소드이기 때문에 // 타입을 Collection.. 더보기
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.. 더보기

반응형