Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
Tags
- 라이젠노트북
- 데이터베이스 집합연산자
- 가성비 노트북
- 슬림3
- 자바초보
- 티모장인
- 코딩일기
- lenovo ideapad 3
- 데이터베이스 DELETE
- 코린이
- 데이터베이스 JOIN
- 데이터베이스기초
- 레노버 노트북
- 데이터베이스 기초
- 오라클UPDATE
- 레노버 슬림3
- 코딩입문
- 데이터베이스 예제
- 사무용 노트북
- SQL
- IdeaPad 3 15ABA7
- 개발자준비
- 레노버 아이디어패드 슬림3
- 데이터베이스 UPDATE
- 자바입문
- 오라클
- 탑마이장인
- 코딩초보자
- 오라클 DELETE
- 데이터베이스
Archives
- Today
- Total
스퐁지송 개발노트
22.12.01 (목) 컬렉션 프레임워크 - 배열 본문
728x90
List : 순서가 있음, 데이터 중복 가능
Set : 순서가 없음, 데이터 중복 불가능(중복된 데이터를 없앨때 사용)
Map : 순서가 없음, 키(key)와 값(value)으로 구분
(key : 아름, value : 강준석 or key : 나이 , value : 20)
(key = 중복 불가능 value = 중복 가능)
ArrayList 예시문
package 컬렉션프레임워크;
import java.util.ArrayList;
public class Sample01 {
public static void main(String[] args) {
ArrayList<String> user = new ArrayList<>();
//ArrayList<String> = String(문자)만 넣을 수 있음.
//ArrayList<Integer> = Integer(정수)만 넣을 수 있음.
//ArrayList<Charater> = Charater(문자)만 넣을 수 있다.
user.add("강준석");
user.add("김");
user.add("박");
System.out.println(user);
for(int i = 0; i<user.size(); i++ ) {
System.out.println(user.get(i));
}
user.add(0,"추가할 내용");
user.add(2,"추가할 내용2");
//(추가할 방위치,추가할 내용)
System.out.println(user);
user.remove("추가할 내용");
//(지울내용)
System.out.println(user);
user.remove(1);
//(1번방의 내용을 지워라)
System.out.println(user);
}
}
Array List 각종 예시문
package 컬렉션프레임워크;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Comparator;
public class Sample02 {
public static void main(String[] args) {
String[] names = {"마이","티모","릴리야"};
ArrayList<String> name = new ArrayList<String>(Arrays.asList(names));
System.out.println(name);
ArrayList<String> name2 = new ArrayList<String>(Arrays.asList("1.탑 마이 장인","2.탑 티모 장인","3.탑 릴리야 장인"));
System.out.println(name2);
System.out.println(String.join(" 준석 ", name2));
//배열방을 구분해주는 기호(",")를 바꾸고 싶을때
name2.sort(Comparator.naturalOrder());
//오름차순정렬
System.out.println(name2);
name2.sort(Comparator.reverseOrder());
//내림차순정렬
System.out.println(name2);
}
}
ArrayList 와 LinkedList 의 처리 속도 비교
package 컬렉션프레임워크;
import java.util.ArrayList;
import java.util.LinkedList;
public class Sample03 {
public static void main(String[] args) {
ArrayList alist = new ArrayList();
LinkedList llist = new LinkedList();
for(int i = 0; i<1000; i++) {
alist.add(i);
llist.add(i);
}
System.out.println("ArrayList");
long start = System.currentTimeMillis();
for(int i = 0; i<alist.size(); i++)
alist.get(i);
long end = System.currentTimeMillis();
System.out.println(end-start);
System.out.println("LinkedList");
start = System.currentTimeMillis();
for(int i = 0; i<llist.size(); i++)
llist.get(i);
end = System.currentTimeMillis();
System.out.println(end-start);
}
}
ArrayList
1
LinkedList
96
ArrayList 와 LinkedList 의 입력처리 속도 비교
package 컬렉션프레임워크;
import java.util.ArrayList;
import java.util.LinkedList;
public class Sample04 {
public static void main(String[] args) {
ArrayList alist = new ArrayList();
LinkedList llist = new LinkedList();
for(int i = 0; i<1000; i++) {
alist.add(i);
llist.add(i);
}
System.out.println("ArrayList");
long start = System.currentTimeMillis();
for(int i = 0; i<100000;i++)
alist.add(500,i); //500번방 마다 i를 입력
long end = System.currentTimeMillis();
System.out.println(end-start);
System.out.println("LinkedList");
start = System.currentTimeMillis();
for(int i = 0; i<100000;i++)
llist.add(500,i); //500번방 마다 i를 입력
end = System.currentTimeMillis();
System.out.println(end-start);
}
}
ArrayList
996
LinkedList
75
Set - 중복x 순서x
예시)
package 컬렉션프레임워크;
import java.util.Arrays;
import java.util.HashSet;
public class Sample05 {
public static void main(String[] args) {
HashSet<String> set = new HashSet<String>();
set.add("안녕");
set.add("탑라인 장인");
set.add("준석");
System.out.println(set);
//set에는 순서가 없기때문에 순서없이 저장하여 출력(출력마다 순서가 바뀌지않음)
set.addAll(Arrays.asList("탑 티모","탑 마이","탑 릴리야"));
//set에 내용 추가 중복된 내용은 출력안됨
System.out.println(set);
//set에는 순서가 없기때문에 순서없이 저장하여 출력(출력마다 순서가 바뀌지않음)
set.remove("안녕");
//set에 저장된 내용을 지움
System.out.println(set);
System.out.println(set.remove("안녕")); //지움과 동시에 잘 지워졌는지 ture/false 출력
System.out.println(set);
}
}
결과
[준석, 안녕, 탑라인 장인]
[탑 티모, 준석, 안녕, 탑 마이, 탑라인 장인, 탑 릴리야]
[탑 티모, 준석, 탑 마이, 탑라인 장인, 탑 릴리야]
false
[탑 티모, 준석, 탑 마이, 탑라인 장인, 탑 릴리야]
Tree Set의 각종 메서드
package 컬렉션프레임워크;
import java.util.Arrays;
import java.util.HashSet;
import java.util.TreeSet;
public class sample06 {
public static void main(String[] args) {
TreeSet ts = new TreeSet(Arrays.asList(5,7,6,10,4));
System.out.println(ts);
//순서정렬을 안하는 Set을 오름차순으로 정렬시켜줌
HashSet s1 = new HashSet(Arrays.asList(1,2,3,4,5,6));
HashSet s2 = new HashSet(Arrays.asList(4,5,6,7,8,9));
// s1.retainAll(s2);
//교집합처리(s1과 s2의 중복된 값을 출력)
// System.out.println(s1);
// s1.addAll(s2);
//합집합 (set 특성상 중복된 값은 없애기때문에 s1+s2이지만 중복된 값은 출력안됨)
// System.out.println(s1);
s1.removeAll(s2);
//차집합(s1-s2이지만 s1에는 7,8,9가 없으므로 중복된 값이 지워 진것처럼 보임)
System.out.println(s1);
}
}
TreeSet 내림차순정렬, (from,to)값 출력
package 컬렉션프레임워크;
import java.util.SortedSet;
import java.util.TreeSet;
public class Main {
public static void main(String[] args) {
SortedSet set = new TreeSet(); //set을 오름차순으로 정렬 시켜줌(기본세팅으로 되있음)
String from = "bat";
String to = "d";
set.add("ant");
set.add("alias");
set.add("batman");
set.add("aha");
set.add("cola");
set.add("Cola");
set.add("ddr");
set.add("dance");
set.add("dEEE");
set.add("deee");
set.add("ever");
set.add("giant");
set.add("zoo");
System.out.println(set);
//오름차순으로 대문자 먼저 그 다음 소문자 정렬됨 ("A~Z"의 주소값이 "a"보다 작으므로)
System.out.println(set.subSet(from, to)); //(from = "bat", to = "d")
// 정렬이 된 상태에서 from~to 사이의 값을 출력
set = new TreeSet(new Descend()); //set을 내림차순으로 정렬시킴
set.add("ant");
set.add("alias");
set.add("batman");
set.add("aha");
set.add("cola");
set.add("Cola");
set.add("ddr");
set.add("dance");
set.add("dEEE");
set.add("deee");
set.add("ever");
set.add("giant");
set.add("zoo");
System.out.println(set);
System.out.println(set.subSet(from, to)); //오류뜨는게 정상
//출력이 안되는 이유 이진수로 from과 to를 찾을때 from의 앞쪽을 시작으로 찾는데(값이 숫자라 생각하고 from이상 to미만의 값을 구한다고 생각하면 편함)
//내림차순으로 되있기때문에 from의 앞에 from보다 큰값가 없어서 오류가뜸
}
}
728x90
'JAVA 입문 시작' 카테고리의 다른 글
22.12.01(목) Map (0) | 2022.12.01 |
---|---|
22.12.01(목) lterator (List-Set-Map을 비교하는 것) (0) | 2022.12.01 |
22.12.01 (목)자바 API pattern (0) | 2022.12.01 |
22.12.01 (목) 자바 API Date Calender 클래스Arrays binarySearch() DecimalFormat 메서드 매서드 (2) | 2022.12.01 |
22.11.30 기본 자바 API , clone (클론), 문자열메소드,수학메소드,Wapper (3) | 2022.11.30 |
Comments