HashMap 클래스는 Map 인터페이스를 상속받는 ' 자료보관소'이기 때문에, 암묵적 객체 형변환 규칙에 따라 Map 형태로 선언하고 HashMap 형태로 할당한다.
선언과 할당시에 HashMap의 이름표로 사용할 데이터형(String)과 HashMap에 저장할 데이터 형을 클래스의 이름
으로 명시해야 되는데, 이를 '제너릭스'라 한다.
제너릭스에 명시할 수 있는 데이터형은 반드시 클래스 이름이어야 하기 때문에 기본 자료형을 보관할 경우
Wrapper 클래스의 이름을 사용한다.
Map<String, 저장할 데이터의 클래스 이름> data
= new HashMap<Stirng, 저장할 데이터의 클래스이름>( );
기존에 저장된 데이터와 중복되는 이름이 저장될 경우, 기존에 저장된 데이터를 덮어 씌우게 된다.
ArrayList는 List 인터페이스를 상속받는 클래스로, 데이터를 이름표 없이 무제한으로 보관할 수 있다.
ArrayList에 추가되는 데이터는 순차적으로 배열과 같은 인덱스 번호를 부여 받는다.
상위 인터페이스형으로 선언하고 ArrayList클래스로 객체를 할당하여, 선언과 할당시에는 보관하고자
하는 자료형에 대한 제너릭스를 명시한다.
List<저장할 데이터의 클래스 이름> list
= new ArrayList<저장할 데이터의 클래스 이름>( );
package scanner;
import java.util.Scanner;
public class Main01 {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.print("int type 입력 : ");
int i = scanner.nextInt();
System.out.println("int 결과 : " + i);
System.out.print("String 입력 : ");
String s = scanner.next();
System.out.println("String 결과 : " + s);
scanner.close();
}
}
package scanner;
import java.util.Scanner;
/*
* scanner.next() : 공백 전 까지 입력을 받음
* scanner.nextLine() : 한 줄 전체를 입력 받음
*/
public class Main02 {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("문자열 입력 : ");
String str1 = scanner.nextLine();
System.out.println(str1);
System.out.println("문자열 입력 : ");
String str2 = scanner.next();
System.out.println(str2);
scanner.close();
}
}
package scanner;
import java.util.Scanner;
public class Main03 {
public static void main(String[] args) {
System.out.println("----- 회원가입을 시작합니다 -------------");
Scanner scanner = new Scanner(System.in);
System.out.println("아이디를 입력하세요");
String str1 = scanner.nextLine();
System.out.println(str1);
if( str1.length() > 11 ) {
System.out.println("아이디는 10자 이하의 글자로만 입력해주세요");
} else {
System.out.println("입력하신 아이디 " + str1 + "로 회원가입을 시작합니다");
}
scanner.close();
}
}