Language/Java

[Java] java 입문 11 - Util Class(ArrayList/HashMap/Random/HashSet)

별토끼. 2017. 5. 22. 13:21
반응형


[Java] java 입문 11 - UtilClass(ArrayList/HashMap/Random/HashSet)


  • ArrayList
  - 배열과 비교

  - 특징

 * ArrayList 는 List 인터페이스를 구현하였기 때문에 List type으로 받을 수 있다.

  - 주로 사용하는 메소드

 * .add()

 * .get()

 * .remove()

 * .size()

 * .clear()

 등의 메소드는 모두 List 인터페이스에 명시된 메소드 이다.


  - List<Car> car = new ArrayList<>(); // 가변 배열 선언


  *예제

*이용할 수 있는 method

  - 메서드명, 리턴 타입을 보고 예측하는 연습이 필요하다!


  • HashMap

  - key값을 이용해 데이터를 관리하는 util클래스

  - HashMap<key, dataType> 

: key - 데이터를 구분할 key값을 저장한다. 보통 string을 많이 이용한다. 

: dataType - 저장할 데이터 타입

 * HashMap 클래스는 Map 인터페이스를 구현해서 만들었기 때문에

 * HashMap 객체는 Map type으로 받을 수 있다.

 * 주로 사용하는 메소드

 * .put()

 * .get()

 * .clear()

 * 메소드는 모두 Map 인터페이스에 정의된 메소드이다.

    * put을 이용해 값을 저장하고 get을 이용해 값을 가져온다.


   * key값을 String으로 받고 객체값을 Object로 지정하여 모든 타입의 데이터를 다 받을 수 있도록 했다.

   * Object가 모든 데이터타입을 받을 수 있는 이유 : 모든 데이터타입 클래스의 부모클래스이기 때문

   * 값을 가져올 때(get) object타입을 가져오는 것이기 때문에 꼭 형변환(casting)을 해줘야한다.


   * HashMap에 있는 객체의 메소드 호출이 가능하다.

    * clear는 모든 데이터를 삭제한다.


 * - key : value 형태로 데이터를 관리하고자 할 때 사용한다.

  * - Generic 클래스는 2개를 지정해야한다. key Generic, value Generic

  * - 데이터 저장 : .put(key, value)

  * - 데이터 참조 : .get(key)

  * - key 존재여부 확인 : .containerKey(key)

  * - 데이터 모두 삭제 : .clear()

  * - 특정 데이터 삭제 : .remove(key)


  • Random 클래스
  - 무작위 숫자를 얻어내고 싶을때 사용한다.

  - 랜덤 객체를 생성하여 랜덤값을 생성한다.

 * nextInt로 정수값을 얻는다.

  * 괄호 안은 정수의 범위를 말한다.


[QUIZ] 로또 번호 추천

 - Random함수를 이용하여 로또 번호 6개를 무작위로 콘솔창에 출력하는 코드를 작성해 보세요(로또 번호 : 1~45 범위의 숫자중에서 중복되지 않는 6개의 숫자)

 * 이중 for문을 이용하여 중복값이 되지 않도록 한다.



  • HashSet
  - 순서가 없다

  - 키값이 없다.

  - 중복을 허용하지 않는다.


 * HashSet<데이터 타입> 객체명 = new HashSet<데이터 타입>();

  * add를 이용하여 데이터를 추가할 수 있다.

  * Iterator 메소드를 이용해 반복자 객체를 얻어온다.

  * iterator의 hasNext(), next()메소드를 이용해 커서가 위치한 곳의 data를 얻어온다.


- HashSet 이용해 로또 번호 얻어내기

  * size 메소드를 이용해 반복문을 수행한다.

  * 랜덤 수 중 같은 값이 있으면 size가 증가하지 않는다.


[QUIZ 2] 문자열을 입력받아 ArrayList와 HashSet에 저장해보세요

  * scanner클래스를 이용해서 문자를 입력받는다.

  * ArrayList와 HashSet의 객체를 각각 생성하고출력한다.

  * HashSet의 출력은 반복자 객체를 이용하여 hasNext() 메소드와 next()메소드를 이용해 순서에 관계없이 출력되도록 한다.

반응형