Frog is cry
컬렉션 프레임워크(Array List) 본문
package 컬렉션프레임워크.ex01;
import java.util.ArrayList;
import java.util.Collections;
import javax.xml.bind.annotation.adapters.CollapsedStringAdapter;
/*
* ArrayList
* 컬렉션 클래스 중 가장 많이 사용되는 클래스.
* 배열을 이용해서 값을 저장한다.
*
* 인덱스를 이용해서 배열 요소에 빠르게 접근 가능하지만
* 크기를 늘리기 위해서는 새로운 배열을 생성하고 기존의 값들을 옮겨야 하므로 느리다.
*
* 정적배열 : 크기가 고정되어있다.
* 동적배열 : 크기가 고정되어있지 않다.
*
* 배열 : 속도가 빠르지만 고정된 메모리 양으로 인해 나중에 늘릴 수 없다.
* ArrayList : 메모리 양은 맘대로 늘리고 줄일 수 있으나, 배열보다 느리다.
*/
public class ArList {
public static void main(String[] args) {
ArrayList<Integer> list = new ArrayList<>();
ArrayList<Integer> list2 = null;
list.add(10); //0
list.add(20); //1
list.add(80); //2
list.add(90); //3
list.add(30); //4
list.add(50); //5
list.add(40); //6
list2 = new ArrayList<>(list.subList(2, 5)); // 2부터 5전까지 사용
System.out.println(list);
System.out.println(list2);
// System.out.println(list.get(0));
// System.out.println(list.get(1));
System.out.println(list.size());
System.out.println("정렬전 : " + list);
Collections.sort(list); // 숫자를 오름차순으로 뽑아준다.
System.out.println("정렬후 : " + list);
Collections.reverse(list); // 숫자를 거꾸로 출력해주기떄문에
// 오름차순 후에 사용해야 내림차순이 됨.
System.out.println("내림차순 : " + list);
Collections.shuffle(list); // 숫자를 섞어서 출력해준다.
System.out.println("suffle:" + list);
}
}
package 컬렉션프레임워크.ex01;
import java.util.ArrayList;
public class ArrList2 {
public static void main(String[] args) {
ArrayList<Integer> list = new ArrayList<>();
//10~80까지의 값들을 10 20 30 ...
//list에 add하기 for문 사용!
for (int i = 1; i <= 8; i++) {
list.add(10*i);
}
System.out.println(list);
list.add(90);
System.out.println(list); // 9칸짜리 배열이 새로 생성된 것을 출력
//indexOf() : 값이 있으면 그 값이 들어있는 방번호를 준다. 값이 없으면 -1을 준다.
int idx = list.indexOf(10);
if(idx != -1) {
list.add(idx+1, 15); // idx +1자리에 값 15를 넣어줘.
}else {
list.add(0, 15); // 그게아니라면 0번째방에 15를 넣어줘.
}
System.out.println(list);
//실습 60을 600으로 바꾸기
// list.set(6, 600);
list.set(list.indexOf(60), 600);
System.out.println(list);
//실습 15 지우기!
// list.remove(list.indexOf(15));
list.remove(new Integer(15));
System.out.println(list);
System.out.println(list.size());
}
}
package 컬렉션프레임워크.ex02;
import java.util.ArrayList;
public class Collection {
public static void main(String[] args) {
String[] arr = new String[2];
arr[0] = "사과";
arr[1] = "오렌지";
// arr[2] = "배"; 에러
for (int i = 0; i < arr.length; i++) {
System.out.println(arr[i]);
}
System.out.println("=========");
ArrayList<String> ar = new ArrayList<>();
ar.add("사과");
ar.add("오렌지");
ar.add("배");
for (int i = 0; i < ar.size() ; i++) {
// String str = (String)ar.get(i);
String str = ar.get(i);
// System.out.println(ar.get(i));
System.out.println(str) ;
}
}
}
package 컬렉션프레임워크.ex02;
import java.util.ArrayList;
import java.util.Collection;
import java.util.HashSet;
import java.util.Iterator;
public class CollectionEx {
public static void main(String[] args) {
ArrayList<String> ar = new ArrayList<>();
// Collection<String> ar = new ArrayList<>();
ar.add("first");
ar.add("second");
ar.add("third");
ar.add("third");
System.out.println("ArrayList------");
// 순서o 중복o, index를 이용하게됨.
// get을 이용해서 해당 인덱스를 접근해서 순서에 맞는 값을 가져올수 있음.
Iterator ai = ar.iterator();
while(ai.hasNext()) {
// 접근할 요소가 있는지 없는지 판별하는 메소드 : hasNext()
// 읽어올 다음 요소가 있다면 true값 반환 요소가 없다면 false가 반환함
System.out.println(ai.next());
}
HashSet<String> hs = new HashSet<>();
hs.add("first");
hs.add("second");
hs.add("third");
hs.add("third");
Iterator ai2 = hs.iterator();
System.out.println("HashSet------"); // SET : 집합
// 순서x 중복x
// get이라는 메소드가 없음
while(ai2.hasNext()) {
System.out.println(ai2.next());
}
}
}
'JAVA > 복습' 카테고리의 다른 글
MVC모델(수정필요) (0) | 2020.07.29 |
---|---|
컬렉션 프레임워크 (Hash) (0) | 2020.07.29 |
Set (0) | 2020.07.29 |
제네릭 (0) | 2020.07.29 |
오브젝트 (0) | 2020.07.29 |
Comments