반응형
*ArrayList
1. import
import java.util.ArrayList;
2. 객체 생성
// String 담는 ArrayList 생성
ArrayList<String> my_arr_list = new ArrayList<String>();
3. 추가 : add
my_arr_list.add("hello");
my_arr_list.add("java");
my_arr_list.add("world!");
4. 삭제 : remove
// 2번째 삭제
my_arr_list.remove(2);
5. 엘리먼트 가져오기 : get
// 1번째 원소 출력
System.out.println(my_arr_list.get(1));
6. ArrayList 탐색을 위한 Iterator
- 객체지향 프로그래밍에서 사용하는 반복기법이다.
// my_arr_list의 Iterator 객체 it 생성방법
Iterator<String> it = my_arr_list.iterator();
7. Iterator을 이용한 while문
- hasnext() : 더 순회할 엘레먼트가 있는지 알수 있다.
- Iterator명.next() : 다음 엘레먼트를 갖고 올 수 있다.
// Iterator 이용 my_arr_list의 모든 원소 출력
while( it.hasNext() ) {
System.out.println( it.next() );
}
8. ArrayList 클래스의 private 맴버 변수로 Object를 담는 배열 생성
class ArrayList
{
private int size = 0;
// object[] 타입 private 멤버변수 elementData 생성
private Object[] elementData = new Object[5];
}
9. Object 타입을 인자로 받는 빈 public 메소드, addLast 생성
class ArrayList {
private int size = 0;
private Object[] elementData = new Object[50];
// Object타입을 인자로 받는 빈 메소드, addLast 생성
public boolean addLast( Object a ) {
return true;
}
}
10. Object 타입 원소 하나를 맨 마지막 위치에 추가.
class ArrayList {
private int size = 0;
private Object[] elementData = new Object[50];
public boolean addLast(Object e)
{
// elementData의 마지막 위치에 인자 e 추가
elementData[ size ] = e;
size ++;
return true;
}
}
11. 중간 위치에 추가.
class ArrayList {
private int size = 0;
private Object[] elementData = new Object[50];
public boolean addLast(Object e) {
elementData[size++] = e;
return true;
}
public boolean add(int index, Object element) {
for (int i = size - 1; i >= index; i--) {
elementData[i + 1] = elementData[i];
}
//elementData의 index에 데이터를 추가
elementData[index] = element;
size++;
return true;
}
}
12. 첫번째 위치에 추가.
// 기존 add함수 이용하여 구현.
class ArrayList {
private int size = 0;
private Object[] elementData = new Object[50];
public boolean addLast(Object e) {
elementData[size++] = e;
return true;
}
public boolean add(int index, Object element) {
for (int i = size - 1; i >= index; i--) {
elementData[i + 1] = elementData[i];
}
elementData[index] = element;
size++;
return true;
}
public boolean addFirst(Object element) {
// add 메소드를 이용해서 데이터를 첫번째 위치에 저장하는 addFirst함수 구현
return add( 0, element);
}
}
13. n번째 위치 데이터 불러오기 get메서드
class ArrayList {
private int size = 0;
private Object[] elementData = new Object[50];
// index에 위치한 데이터를 가져오는 get 함수
public Object get(int index) {
return elementData[index];
}
public boolean addLast(Object e)
{
elementData[size++] = e;
return true;
}
public boolean add(int index, Object element)
{
for (int i = size - 1; i >= index; i--) {
elementData[i + 1] = elementData[i];
}
elementData[index] = element;
size++;
return true;
}
public boolean addFirst(Object element)
{
return add(0, element);
}
}
반응형
'알고리즘 > 프로그래머스, 백준, 구름' 카테고리의 다른 글
스트링 버퍼(StringBuffer) (0) | 2020.06.03 |
---|---|
래퍼 클래스(wrapper class), 오토 박싱, 오토 언박싱 (0) | 2020.06.03 |
인터페이스 (0) | 2020.06.01 |
예외처리 (0) | 2020.06.01 |
삼항연산자, switch문, for each문, 문자열 붙이기, 문자열 자르기 (0) | 2020.06.01 |