본문 바로가기

Java

자바의 신 CH22 & CH23

import java.util.ArrayList;

public class ManageHeight {
  ArrayList<ArrayList<Integer>> gradeHeights = new ArrayList<>();
  public static void main(String[] args) {
    ManageHeight sample = new ManageHeight();
    sample.setData();
    int count=1;
    while(true) {
      sample.printAverage(count);
      count++;
      if(count == 6) {break;}
    }
  }

  public void setData() {
    ArrayList<Integer> c1 = new ArrayList<>();
    c1.add(170);
    c1.add(180);
    c1.add(173);
    c1.add(175);
    c1.add(177);

    ArrayList<Integer> c2 = new ArrayList<>();
    c2.add(160);
    c2.add(165);
    c2.add(167);
    c2.add(186);

    ArrayList<Integer> c3 = new ArrayList<>();
    c3.add(158);
    c3.add(177);
    c3.add(187);
    c3.add(176);

    ArrayList<Integer> c4 = new ArrayList<>();
    c4.add(173);
    c4.add(182);
    c4.add(181);

    ArrayList<Integer> c5 = new ArrayList<>();
    c5.add(170);
    c5.add(180);
    c5.add(165);
    c5.add(177);
    c5.add(172);

    gradeHeights.add(c1);
    gradeHeights.add(c2);
    gradeHeights.add(c3);
    gradeHeights.add(c4);
    gradeHeights.add(c5);
  }

  public void printHeight(int classNo){
    System.out.println("Class No.:"+classNo);
    for(int i : gradeHeights.get(classNo-1)){
      System.out.println(i);
    }
  }

  public void printAverage(int classNo) {
    double sum=0.0;
    int count=0;
    for(int i : gradeHeights.get(classNo-1)){
      count++;
      sum +=i;
    }
    System.out.println(sum/count);

  }
}

package d.collection.practice;

import java.util.Random;
import java.util.HashSet;

public class RandomNumberMaker {
  public static void main(String[] args) {
    RandomNumberMaker m1 = new RandomNumberMaker();
    for(int i=0; i<10;i++) {
      System.out.println(m1.getSixNumber());
    }

  }
  public HashSet<Integer> getSixNumber() {
      Random random = new Random();
      HashSet<Integer> intHash = new HashSet<>();
      while(intHash.size() < 7) {
        intHash.add(random.nextInt(45));
      }
      return intHash;
  }
}

 

Chapter 22 Collection2

 

1. Set 인터페이스는 데이터의 순서와 상관없이 데이터를 담을 때 사용한다.

 

2. HashSet도 ArrayList처럼 int를 매개변수로 갖는 생성자를 통하여 데이터 저장 공간을 명시적으로 지정할 수 있다.

 

3. HashSet에 데이터를 담는 메소드는 add()이다.

 

4. HashSet의 contains() 메소드를 사용하면 매개변수로 넘긴 값이 존재하는지 확인할 수 있다.

 

5. HashSet의 데이터를 지우는 메소드는 remove()이다.

 

6. FIFO는 First In First Out의 약자로 처음 들어온 값이 먼저 나간다는 것을 의미한다.

 

7. Deque는 Double Eneded Queue의 약자이다.

 

8. LinkedList는 List 인터페이스뿐만 아니라 Queue와 Deque 인터페이스도 구현하고 있다. 즉, 목록형 클래스이기도 하면서 큐의 역할도 수행할 수 있다.

'Java' 카테고리의 다른 글

자바의신 ch25  (0) 2022.07.07
자바의신 ch24  (0) 2022.07.06
자바의신 ch21  (0) 2022.07.04
자바의신 ch19 & ch20  (0) 2022.06.30
자바의 신 ch16 & ch17& ch18  (0) 2022.06.22