728x90
반응형
[ Scanner ]
: 콘솔창에 입력받고 출력해주는 기능 | java.utill.Scanner에 있는 기능
예제 )
import java.util.Scanner;
// 실행창에서 Scanner 객체를 이용해 정보를 입력받아 보는 예제
public class TestScanner1 {
public static void main(String[] args) {
// ctrl + shift + O
Scanner s = new Scanner(System.in); //System.in 실행창 입력 객체
String info = s.nextLine();
System.out.println("입력받은 메세지--> "+info);
/*
* 입력값 : Hi, world
* 출력값 : 입력받은 메세지--> Hi, world
*/
s.close(); //자원을 해제
}
}
while 반복문 적용 예제)
import java.util.Scanner;
public class TestScanner1 {
public static void main(String[] args) {
Scanner s = new Scanner(System.in);
while (true) {
System.out.print("이상형: ");
String info = s.nextLine();
if (info.equals("그만")) {
System.out.println("while문을 종료합니다");
break;
}
System.out.println("당신의 이상형은 --> "+info);
/* 출력값:
* 이상형: 아이유
* 당신의 이상형은 --> 아이유
* 이상형: 밀크
* 당신의 이상형은 --> 밀크
* 이상형: 그만
* while문을 종료합니다
*/
}
s.close();
}
}
[ Collection | interface]
java.util.collection
< set >
> TreeSet
1. 중복 허용하지 않음
2. 정렬기능이 내장되어 있다.
treeSet 예제
import java.util.TreeSet;
public class TestTreeSet {
public static void main(String[] args) {
// <String> : Generic
// Set에 추가될 요소의 타입을 명시하는 것을 권장
TreeSet<String> set = new TreeSet();
set.add("A");
set.add("B");
set.add("C");
set.add("A"); //중복은 인정하지 않음
set.add("B"); //중복
System.out.println(set.size()); //3
System.out.println(set);
// [A, B, C]
// toString()이 overriding되어 실제 요소 출력됨
TreeSet set2 = new TreeSet();
set2.add("A");
set2.add(3);
//서로 다른 타입을 입력하게 되면, 정렬과정에서 오류가 발생
//System.out.println(set2);
}
}
> LinkedHashSet
1. 중복 허용하지 않음
2. 입력순서를 기억한다.
Linkded Hash Set 예제
import java.util.LinkedHashSet;
public class TestLinkedHashSet {
public static void main(String[] args) {
LinkedHashSet<String> set = new LinkedHashSet<String>();
set.add("샐러드");
set.add("우유");
set.add("밀크티");
set.add("요구르트");
System.out.println(set);
/* 출력:
* [샐러드, 우유, 밀크티, 요구르트]
*/
}
}
java.util.Random함수와 TreeSet을 함께 적용한 예제
import java.util.TreeSet;
import java.util.Random;
class LottoSerivce {
// 1 ~ 45 까지 중복되지 않는 임의의 수 6개를
// TreeSet에 담아 반환
public TreeSet<Integer> createLottoNumber() {
TreeSet<Integer> win = new TreeSet<Integer>();
Random r = new Random(); // 랜덤한 수를 만들기 위해
while (win.size() < 6) {//set안의 요소(번호)가 6개가 될 때까지
int num = r.nextInt(45) + 1; //0부터 시작하므로 1을 더한다
win.add(num);
}
return win;
}
}
public class TestLotto {
public static void main(String[] args) {
LottoSerivce service = new LottoSerivce();
TreeSet<Integer> set = service.createLottoNumber();
System.out.println("이번 주 로또 번호: " + set);
/* 출력값:
* 이번 주 로또 번호: [1, 4, 10, 26, 31, 40]
*/
}
}
< list >
: index로 관리
- ArrayList : 검색에 적합 (배열 복사O)
- LinkedList : 삽입(추가) add 과 삭제 remove 가 빈번할 때 적합 (새로운 배열 복사 X)
- ArrayList에 비해 삽입/삭제 시 자원소모가 적다.
ArrayList 기본 문법 예제
import java.util.ArrayList;
public class TestArrayList1 {
public static void main(String[] args) {
ArrayList<String> list = new ArrayList<String>();
//add : 추가
list.add("A");
list.add("B");
list.add("B");
System.out.println(list);
// 주소값이 아닌 요소값이 나오는 이유는
//toString메서드가 Overriding되어있기 때문
// [A, B, B]
System.out.println(list.get(0)); // A
System.out.println(list.get(2)); // B
System.out.println(list.size()); // 3
// set : 업데이트
list.set(2, "C");
System.out.println(list.get(2)); // C
// remove : 삭제
String name = list.remove(1); //삭제
System.out.println(name+" 요소를 삭제"); //B 요소를 삭제
System.out.println(list); // [A, C]
// clear: 모든 요소 삭제(비우기)
list.clear();
System.out.println(list); // []
}
}
ArrayList 예제 <Generic>
import java.util.ArrayList;
public class TestGeneric {
public static void main(String[] args) {
// 배열처럼 순번으로 정보를 관리
ArrayList list = new ArrayList();
list.add("String");
list.add(1);
System.out.println(list);
/* 출력:
* [String, 1]
*/
// 첫번째 요소를 반환받을 때,
// Object down casting이 필요
String s = (String)list.get(0);
System.out.println(s);
System.out.println(s.length());
/* 출력 :
* String
* 6
*/
// 두번째 요소를 반환받을 때,
// Object down casting이 필요
int i = (Integer)list.get(1);
System.out.println(i);
/* 출력 :
* 1
*/
}
}
LinkedList 예제
import java.util.LinkedList;
public class TestLInkedList {
public static void main(String[] args) {
LinkedList<String> list = new LinkedList<String>();
list.add("A");
list.add("B");
list.add("C");
System.out.println(list.size()); //3
System.out.println(list); //[A, B, C]
// 특정 위치에 추가 : add(index, value)
list.add(1, "D"); //두번째 순서에 요소 추가
System.out.println(list); // [A, D, B, C]
// 삽입 : addFirst(value), addLast(value)
list.addFirst("K");
list.addLast("T");
System.out.println(list); //[K, A, D, B, C, T]
}
}
추가 예제 )
728x90
반응형