Java(자바) 18日次

블로그 移轉·2022년 11월 16일

Java

목록 보기
17/20

Java 面接 族譜 整理 (18日次)

1. 콜렉션 프레임워크란?

  • 資料構造 및 알고리즘을 具現해놓은 一種의 라이브러리이다。
    (라이브러리 : .class들의 모임)
  • 데이터들(Java에서 客體)을 좀 더 效率的으로 빠르게 管理 Control하기 爲한 方法
    (read、write、remove、store…)
  • 제네릭基盤으로 具現이 되어있다。써먹을 때도 제네릭基盤으로 써먹는다。
  • Set<E>、List<E>、Queue<E>、Map<K, V>가 있다。

2. ArrayList와 LinkedList의 長短點은?


狀況마다 適切한 資料構造가 다르기 때문에 各々의 長短點을 잘 把握해두고 프로그램을 作成하기 前에 어떤 것을 使用해야할지 꼭 미리 생각해보고 使用하자。

3. Scanner클래스로 -1이 入力될 때까지 陽의 整數를 入力받아 貯藏(List)하고 檢索하여 第一 큰 數를 出力하는 프로그램을 作成하여라。

4. 로또 프로그램을 作成하시오。(Set을 使用)

5. Set에 對해서 說明하시오。

集合의 槪念을 具現해놓은 것이 set이다。(數學으로 Set集合)
Set<E>인터페이스를 具現하는 제네릭 클래스가 갖는 重要한 特徵!

  • 貯藏順序가 維持되지 않는다。
  • 데이터의 重複貯藏을 許容하지 않는다。
    → set을 使用하면 重複체크를 할 必要가 없다。collection interface는 Iterable interface를 相續(繼承)하므로 iterator反復子를 呼出해서 使用할 수 있다。
    (set、list queue 同一)
package lec20221116;

import java.util.HashSet;
import java.util.Iterator;
import java.util.Set;

public class SetEx {

	public static void main(String[] args) {
		Set<String> set = new HashSet<>();
		set.add("Toy");
		set.add("Box");
		set.add("Robot");
		set.add("Box");
		System.out.println("인스턴스 수: " + set.size());

		// 反復子를 利用한 全體出力
		for (Iterator<String> itr = set.iterator(); itr.hasNext();)
			System.out.print(itr.next() + '\t');
		System.out.println();

		// for-each文을 利用한 全體出力
		for (String s : set)
			System.out.print(s + '\t');
		System.out.println();
	}
}

6. 出力이 下段의 內容과 같이 나오도록 하시오。

  • main函數

    HashSet<Num> set = new HashSet<>();
    set.add(new Num(7799));
    set.add(new Num(9955));
    set.add(new Num(7799));
    
    System.out.println("인스턴스數 : " + set.size());
    
    for(Num n : set) {
    	System.out.print(n.toString() + '\t');
    }
    
    System.out.println();
  • 出力畫面

    인스턴스數 : 2
    7799 9955

profile
移轉했읍니다。

0개의 댓글