Develop/JAVA

0531 JAVA 열한번째

포페PostFace 2022. 6. 1. 22:29

Math.random 메소드로 범위내 정수 난수 구하기

10~35
int d=(int)(Math.random( )*(가장 큰수-가장 작은수+1)
+가장 작은수 


StringTokenizer 

특정 문자를 특정 구분자로 분리해주는 메서드.
구분자를 설정해주지 않는다면 공백으로 분리한다.


countTokens

분리한 토큰의 갯수를 정수 타입으로 리턴 받는다.
파싱한다.

예시

StringTokenizer stn = 
new StringTokenizer("2022/05/31,10:43",",/");
int count=stn.countTokens();
System.out.println(count);



count = 4가 나온다. (/와 ,마다 한덩어리씩 분리)

hasMoreTokens 

하나라도 토큰이 남아있으면 불리언 타입으로 리턴한다.

nextToken

각각의 토큰 값을 문자열 타입으로 리턴

둘을 활용하여 반복문으로 만들수 있다.

while(stn.hasMoreTokens()) {
	String s = stn.nextToken();
	System.out.println("s:"+s);
}


토큰을 하나하나 출력한다.
s:2022
s:05
s:31
s:10:43

.split 

StringTokenizer 와 같이 분리해주지만 구분자를
하나만 받을 수 있고 String배열 타입으로 리턴한다.

Calendar(08_08확인)

Calendar cal =new Calendar();
위와 같은 형태로는 import를 해도 사용할 수 없다
Calendar의 접근제어자가 protected기 때문이다.

Calendar cal =Calendar.getInstance();
형태로 객체를 만들 수 있다.


Generic

하나의 코드를 여러 타입에 대하여 재사용할 수
있도록 해주는 기술.
클래스의 멤버변수에 어떠한 데이터 타입을 받을지
모를때 사용한다.
< > 이 안에 임시 타입을 넣어주는데 Type의 약자
T를 보통 사용한다.

class Top2<T>{
	private T data;
	public void setData(T data) {
		this.data=data;
	}
	public T getData() {
		return data;
	}
}


T라는 데이터 타입으로 임시지정을 해준뒤
객체를 생성할때 받을 데이터 타입이 확정된다.

Top2<String> t2 =new Top2<String>();

배열
같은 타입의 데이터를 하나로 묶어서 관리
위치번호가 0번부터 시작
고정된 크기를 갖음.

컬렉션 ==저장공간
여러 데이터를 하나로 묶어서 관리
동적으로 메모리를 확장/축소할 수 있다.
객체만 저장가능 가능하다.

컬렉션의 핵심 인터페이스

1 List. 순서(위치번호)가 있는 데이터의 집합.
데이터의 중복을 허용한다.
구현 클래스: ArrayList,LinkedList,Stack,Vector들
2 Set. 순서를 유지하지 않는 데이터의 집합.
데이터의 중복을 허용하지 않는다.
구현 클래스:HashSet,TreeSet등
3 Map. 키와 값의 쌍으로 이루어진 데이터의 집합
순서는 유지되지 않으면 키는 중복을 허용하지 않고
값은 중복을 허용한다.
구현 클래스:HashMap,TreeMap,Hashtable,Properties등

ArrayList

ArrayList<> 컬렉션명 = new ArrayList<>();
제네릭을 이용하여 데이터 타입을 정해준다.

length : 배열의 길이(방의 갯수)
length( ) : 문자열의 갯수
size( ) : 컬렉션 안의 요소의 갯수

add(값) : 컬렉션에 추가할 값

ArrayList의 toString은 element(요소)의 
toString( )을 호출한다.
생략이 가능하며 출력시 [ , , , ]와 같은 형태로 나온다.
 
remove( ) :값이 숫자냐 문자냐에 따라 다름
몇번째를 지우거나 해당 값중 가장 앞에 있는 값을
지움.

indexOf( ) : 어떠한 값이 몇번째에 있는지
없으면 음수로 나온다.
get: 특정 몇번째에 무슨 값이 있는지
contains( ) : 어떠한 값이 있는지 없는지 확인
 
ArrayList에 class 형태도 넣을 수 있는데
이때 각각의 ArrayList 공간에는 
객체의 주소가 들어간다.
이를 클래스에서 toString메서드를 
over riding 해주면 리턴값을 주소가 아닌
원하는 값으로 리턴할 수 있다.

'Develop > JAVA' 카테고리의 다른 글

0603 JAVA 열세번째  (0) 2022.06.03
0602 JAVA 열두번째~  (0) 2022.06.02
0530 JAVA 열번째!!  (0) 2022.06.01
0527 JAVA 아홉번째  (0) 2022.06.01
0526 JAVA 여덟번째  (0) 2022.06.01