티스토리 뷰

학습정리-11-08.txt
0.00MB

1. ArrayList 와 LinkedList 의 장단점은?

▶ ArrayList<E> 

배열 기반 자료구조로  배열이 가지는 특징을 똑같이 가지고 있다.

그래서 인스턴스의 참조가 빠르다. (다 연속해서 붙어 있으니 찾기가 쉽다.)대신 인스턴스의 삭제, 추가 과정이 복잡하고 시간이 걸린다. (배열 기반이라 데이터가 추가, 삭제 시에 해당 데이터만 바로 추가하거나 삭제하는 방식이 아니라 새로운 저장 공간을 만든 후 arrycopy를 통해 전체 배열을 복사해서 넣기 때문)

 

 

▶LinkedList<E> 

리스트 기반 자료구조로 먼저 리스트 객체가 하나 생성되면 그 안에는 다음에 생성된 객체의 주소가 들어 간다. (절대 연속된 공간이 아니다!) 그래서 ArrayList에 비해 저장된 인스턴스의 참조 과정이 복잡하다. 대신 저장된 인스턴스의를삭제 하거나 저장 공간을 늘리는 과정이 단순하다.

 

 

 


2. 로또 프로그램을 작성하시오.(Set 으로)

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

public class HashSetRottoTest {

	public static void main(String[] args) {
		Set<Integer> set = new HashSet<>();
		
		/*
		while(set.size() != 6) {
			set.add((int)(Math.random()*45 + 1));
		}
		*/
		
		/*
		while(set.size() != 6) {
			int num = (int)(Math.random() * 45 + 1);
			set.add(num);
		}
		*/
		
		for(int i = 0; i < 6; i++) {
			set.add((int)(Math.random()*45 + 1));
		}
		
		for(Iterator<Integer> itr = set.iterator(); itr.hasNext();)
			System.out.print(itr.next() + "\t");
		
		
	}
}

 

 

 

 


3. Set에 대하여 설명하시오.

Set<E>은 수학의 집합으로 생각하면 이해가 쉽다.

저장 순서가 유지되지 않는다.

동일한 데이터를 저장 할 수 없다.(같은 데이터 중복 저장 불가)

Set<E> 인터페이스를 구현하는 HashSet<E> 역시 같은 특징을 가진다.

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

public class SetHashSetTest {

	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();
		
	}
}
//출력
//인스턴스 수: 3
//Box    Robot    Toy	
//Box	 Robot	  Toy

 

동일한 인스턴스라고 판단하는 기준은?

해쉬코드와 equals를 호출해서 사용한 결과를 기준으로 판단!

먼저 public int hashCode()를 호출해 반환된 해쉬값으로 검색 범위를 결정하고
해당 범위의 요소를 public boolean equals(Object obj)를 호출해 값을 비교한다.
equals 메소드의 호출 결과가 true가 반환되면 같은 인스턴스로 판단한다.

 

 

 

 


4. 아래의 선택자에 대하여 설명하시오.
  → 자식 선택자

ex)   header > ul { color : red; }

header(부모 요소 위치)태그 바로 아래의 ul 태그(자식 요소)에만 글자색이 빨간색으로 적용된다.


+  → 동위 선택자, 인접 형제 선택자

ex)  h1 + ol { background-color: yellow; }

h1태그(형 요소) 바로 뒤에 따르는 ol 태그(동생 요소) 하나에만 배경색이 노란색으로 적용된다.


→ 동위 선택자, 일반 형제 선택자

ex)   h1 + ol { font-weight: bold; }

h1태그(형 요소) 뒤에 나오는 모든 ol태그(동생 요소)에 폰트가 굵게 적용된다.


[]  → 속성 선택자

ex)   input[type="text"] { font-style: italic; }

input 태그의 type 속성 값이 "text"인 것만 기울어진 폰트 스타일이 적용된다.

더보기

 

 

 


5. 하이 서울 브랜드를 html 로 짜시오.

See the Pen hi_seoul by SE (@whaletree) on CodePen.

 

 

6.금요일 다하지 못한 문제가 있으면 문제를 푸시오.
7.개별진척도 못한거 다시 한번 풀어 주세요.

공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함