Programming46 Optional 클래스 java.util.Optional 클래스 Optional 클래스는 Integer나 Double 클래스처럼 'T'타입의 객체를 포장해 주는 래퍼 클래스(Wrapper class)이다. 따라서 Optional 인스턴스는 모든 타입의 참조 변수를 저장 가능함 이러한 Optional 객체를 사용하면 예상치 못한 NullPointerException 예외를 제공되는 메소드로 간단히 회피할 수 있다. 즉, 복잡한 조건문 없이도 널(null) 값으로 인해 발생하는 예외를 처리할 수 있게된다. (지긋지긋한 null🎃) 💡 Optional 메소드 of() 혹은 ofNullable() 메소드를 사용하여 Optional 객체를 생성할 수 있다. of() : null이 아닌 명시된 값을 가지는 Optional 객체를 반환 만.. 2022. 8. 18. 스택(Stack)의 구조 스택(Stack)의 구조 스택은 LIFO(Last In, First Out) 또는 FILO(First In, Last Out) 데이터 관리 방식을 따름 LIFO : 마지막에 넣은 데이터를 가장 먼저 추출함 FILO : 처음에 넣은 데이터를 가장 마지막에 추출함 데이터를 스택에 넣는건 push() / 데이터를 스택에서 꺼내는건 pop() 큐(Queue)가 FIFO 라면, 스택(Stack)은 LIFO 💡스택(Stack)의 장점 vs 단점 장점 : 구조의 단순화 / 데이터의 저장,읽기 속도 빠름 단점 : 데이터 최대 개수를 미리 정해야 하고, 미리 정한만큼 쓰지 못하면 저장공간의 낭비 발생 📝push와 pop을 이용한 예제코드 import java.util.Stack; public class Test_stac.. 2022. 8. 11. 큐(Queue)의 구조 큐(Queue)의 구조 가장 먼저 넣은 데이터를 가장 먼저 꺼낼 수 있는 구조 FIFO(First in First out) / LILO(Last in Last out) 방식으로 이루어짐 큐에는 Enqueue(add(value), offer(value))와 Dequeue(poll(), remove()) 종류가 있음 Queue를 사용하기 위해서는 LinkedList 클래스를 사용하고, 어떤 데이터타입을 사용할건지 자료형 매개변수를 넣어서 지정 해줘야함 import java.util.LinkedList; import java.util.Queue; public class Test_queue { public static void main(String[] args) { Queue q_int = new LinkedL.. 2022. 8. 11. 리스트(List) 와 ArrayList의 차이 List는 인터페이스고 ArrayList는 클래스이다. 클래스는 일반 클래스와, abstract로 정의된 추상 클래스로 나뉨 인터페이스는 모든 메서드가 추상 메서드인 경우를 의미 인터페이스를 상속받는 클래스는 인터페이스에서 정의된 추상 메서드를 모두 구현해야 함 (따라서 다양한 클래스를 상속받는 특정 인터페이스는 결국 동일한 메서드를 제공함) 하나의 예를 보자. List list1 = new ArrayList(); // list1을 ArrayList객체로 만듦 list1 = new LinkedList(); // 그리고 이렇게 LinkedList 객체로도 대체가 가능함 위의 예제에서 보듯이 List가 인터페이스인데, 해당 인터페이스의 추상 메서드를 구현하는 게 ArrayList, LinkedList 둘 다.. 2022. 8. 11. 이전 1 ··· 5 6 7 8 다음