(5) Iterator, ListIterator, Enumeration
·
자바/컬렉션 프레임워크
1. Iterator - 컬렉션 프레임웍에서는 컬렉션에 저장된 요소들을 읽어오는 방법을 표준화하였다. 그것은 바로 각 요소에 접근할 수 있느 기능을 가진 Iterator 인터페이스이다. - Collection 인터페이스에 정의된 메서드이므로, List와 Set에도 Iterator가 포함되어 있다. - 메서드 종류는 아래와 같다. (1) bollean hasNext() (2) Object next() (3) void remove() : next()로 읽어야만 remove()를 사용할 수 있다.. - Map 인터페이스를 구현한 컬렉션 클래스는 키와 값을 iterator()로 불러올 수 없지만, 따로 키값을 가져오는 keySet()이나 entrySet()을 불러와야 한다. 1-1. Iterator를 이해하기 ..
(4) Stack과 Queue
·
자바/컬렉션 프레임워크
1. Stack과 Queue - Stack은 LIFO(Last In First Out)이고, Queue는 FIFO(First In First Out)이다. - Stack은 ArrayList로, Queue는 LinkedList로 구현하는 것이 좋다. Queue 또한 ArrayList로 구현해도 되지만 데이터 삭제를 할 때 공간을 다시 채워주어야 하기 때문에, LinkedList가 유리하다. - Stack의 메서드는 아래와 같다. ( 중요한 부분만 적었다. 상세한 내용은 자바의 정석 604p를 참고하자. ) (1) Object peek() : Stack의 맨 위에 있는 저장된 객체를 반환한다. pop()과 달리 객체를 꺼내지는 않음 ( 만약 비어있다면, EmptyStackException 발생 ) (2) O..
(3) LinkedList
·
자바/컬렉션 프레임워크
1. LinkedList - 배열은 자료구조가 간단하며 사용하기 쉽고 읽어오는데 걸리는 시간이 가장 빠르다는 장점이 있다. - 그러나 배열은 단점 또한 존재하는데 아래와 같다. (1) 크기를 변경할 수 없다. : 변경할 수 없으므로 새로운 배열을 생성해야 한다. : 또한 크게 생성하면 메모리 낭비가 있다. (2) 비순차적인 데이터의 추가 또는 삭제에 시간이 많이 걸린다. : 차례대로 추가하거나 뒤에서 데이터를 삭제하는 것은 빠르지만, 중간에 데이터를 추가한다면, 다른 데이터들을 복사해서 옮겨야 된다. - 위와 같은 단점들을 보완하기 위해서 링크드 리스트가 등장하게 되었다. - 배열은 연속적이지만, 링크드 리스트는 불연속적으로 구성되어 있다. - 위 그림처럼 링크드 리스트는 클래스 안에 2개의 속성을 가져..
부분 레이아웃을 전체 레이아웃에 메모리에 객체화 시키기.
·
안드로이드 with 자바/자잘한 문제들
1. 구현해야 할 것 ( 버튼을 클릭하면 아래의 그림처럼 부분 레이아웃이 나오게 된다. ) 2. MainActivity.java import androidx.appcompat.app.AppCompatActivity; import android.content.Context; import android.os.Bundle; import android.view.LayoutInflater; import android.view.View; import android.widget.Button; import android.widget.CheckBox; import android.widget.LinearLayout; public class MainActivity extends AppCompatActivity { Linea..