시스템아 미안해
ArrayList & LinkedList 본문
<ArrayList> : 순차적인 인덱스 구조 - ArrayList의 add(index, value) : index를 생략하면 ArrayList 맨 뒤에 데이터가 추가 : index중간에 값을 추가하면 해당 인덱스부터 마지막 인덱스까지 모두 1씩 뒤로 밀려남 - remove()함수를 사용하여 특정 인덱스의 객체를 제거하면 바로 뒤 인덱스부터 마지막 인덱스까지 모두 앞으로 1씩 당겨짐 - get(index) 메소드를 사용하면 ArrayList의 원하는 index의 값이 리턴 for loop / while(hasNext()) 통해서 출력 - 찾고자 하는 값을 검색하려면 ArrayList의 contains(value) - 값을 있는 index를 찾으려면 indexOf(value) 메소드를 사용하면 되고 만약 값이 없다면 -1을 리턴 - 크기 재조정 가능하나 데이터 밀고 땡겨야해서 꽤 오래 걸림 크기 한정돼있음 ---->insert를 해야할 경우가 많다면 ArrayList보다는 LinkedList를 활용 |
<LinkedList> : 비순차적인 노드의 집합 - 포인터(참조자)로 인해 작은 데이터에 활용시 메모리 사용에 비효율적일것. - ArrayList와 달리 List인터페이스를 구현한 AbstractList를 상속받는게 아닌 AbstractSequentialList를 상속받음 - 순서대로 연결돼있는게 아니라 주소값(노드)으로 서로 연결돼있음 - 데이터 삽입/삭제 시 한 번에 가능. but 수정시 arraylist보다 해당 데이터 찾는 시간이 오래 걸림 - 무한대 자료 삽입 가능 |
'java > 문법' 카테고리의 다른 글
반복문 제어하기 (continue/break/return) (0) | 2022.06.05 |
---|---|
형 변환(casting) 놓쳤던 부분 정리 (0) | 2022.06.05 |
배열array와 ArrayList의 차이 (0) | 2022.04.16 |
Collection - (Arraylist / Set ) & 제네릭 (0) | 2022.04.06 |
윈도우를 이용한 채팅창 만들기 (JTextArea / JTextField) (0) | 2022.04.05 |