TIL

230207 [Java, Html] (Set / Map / 태그 / table)

하차모 2023. 2. 7. 17:27

1. 컬렉션 프레임워크

  컬렉션 프레임워크란 데이터를 효과적으로 관리할 수 있는 자료구조로 표준화된 클래스 및 인터페이스의 집합이다. 자바는 List, Set, Map, Queue 와 같은 인터페이스와 이 인터페이스를 구현한 클래스를 제공한다.

  List : 순번 존재, 중복 가능 (ArrayList, LinkedList)

  Set : 순번 X, 중복 불가 (HashSet, TreeSet)

  Map : Key와 Value의 쌍으로 데이터가 저장됨, Key는 중복 불가 (HashMap, TreeMap)

 

1-1. Set

  Set은 순번이 없고, 중복 저장이 불가하다. TreeSet은 오름차순으로 자동정렬된다.

HashSet<String> set1 = new HashSet<>();
Set<String> set2 = new HashSet<>();

TreeSet<String> set3 = new TreeSet<>();
Set<String> set4 = new TreeSet<>();
public class Set02 {
    public static void main(String[] args) {
        //set 객체 생성
        Set<String> set = new TreeSet<>();

        //데이터 삽입
        set.add("김");
        set.add("최");
        set.add(("박"));
        set.add("윤");
        set.add("운");

        //순번이 없기 때문에 일반 for문으로 조회 불가, for-each문 사용
        for (String e : set) {
            System.out.println(e); //순서가 없어서 랜덤으로 나옴
        }
    }
}

  배열 -> 리스트 변경 : Arrays.aslist()

  리스트 -> 배열 변경 : .toArray()

public class Set03 {
    public static void main(String[] args) {
        //배열을 리스트로 변경
        Integer[] arr = {10 ,5, 3, 4, 8, 5};
        //Arrays -> 배열과 관련된 여러 기능이 정의되어있는 클래스
        List<Integer> list = Arrays.asList(arr);
	//asList로 만든 리스트는 추가, 변경이 불가함 -> 새로운 리스트에 담아준다.
        List<Integer> resultList = new ArrayList<>(list);

        //리스트를 배열로 변경
        List<String> strList = new ArrayList<>();
        strList.add("aaa");
        strList.add("bbb");
        strList.add("ccc");
        String[] strArr = strList.toArray(new String[strList.size()]);
    }

  List를 Set으로 변경

public class Set04 {
    public static void main(String[] args) {
        List<Double> list = new ArrayList<>();
        list.add(5.3);
        list.add(2.6);
        list.add(8.7);
        list.add(5.3);
        
        //List를 Set으로 변경 -> 중복 제거됨
        Set<Double> set = new TreeSet<>(list);
	//Set을 List로 변경
        list = new ArrayList<>(set);
    }
}

 

1-2. Map

  Map은 Key와 Value가 쌍으로 저장된다. Key는 중복이 불가하다.

public class Map01 {
    public static void main(String[] args) {
        Map<Integer, String> map = new HashMap<>();
        map.put(1, "홍길동");
        map.put(2, "이길동");
        map.put(3, "김길동");
        map.put(3, "박길동");
        map.put(4, "최길동");

        //데이터 조회
        //map 데이터는 key로 데이터에 접근한다
        //key가 중복이면 가장 최근에 들어간 데이터만 저장됨
        System.out.println(map.get(3)); //박길동

        //데이터 삭제
        map.remove(2);

        //전체 데이터 조회
        //map은 순번이 없기 때문에 key를 활용하여 데이터를 조회해야 한다.

        //1. map에 저장된 모든 키 정보를 조회
        //   keySet() : map에 저장된 키들을 set 형태로 반환
        Set<Integer> keySet = map.keySet();

        //2. set에 담긴 key로 value 호출
        for (int key : keySet) {
            System.out.println("key - " + key + " / value - " + map.get(key));
        }
    }
}

 

 

2. HTML

  html은 웹사이트를 만드는 데 사용하는 언어이며,  태그로 코드가 구성된다.
  태그 : <>로 작성된 모든 글자, 대부분 여는 태그와 닫는 태그로 짝을 이룸
  html 코드는 <html>태그 안에 작성된다.

<html>
  <head>
    통상적인 설정 및 제목 작성
  </head>
  <body>
    화면에 보이는 코드를 작성
  </body>
</html>
<!-- 주석 ctrl + shift + /-->

 

2-1. br, h1~h6, p, a, img태그

  br태그 : html은 공백을 아무리 많이 넣어도 하나만 인식하며, 개행을 해서 코드를 작성해도 결과물에 개행이 반영되지 않는다. 그럴 때 br태그를 사용한다.  br태그는 줄 바꿈 태그이며 여는 태그만 존재한다.

  h1~h6태그 : h1~h6태그는 제목 작성 태그이며, 줄 바꿈을 포함한다.

  p태그 : 문단을 나타내는 태그이다.

  a태그 : 다른 페이지로의 링크를 걸 수 있다. a태그로 감싸진 글자 클릭 시 href 속성에 작성된 링크로 이동한다. target 속성을 _blank로 지정하면 새 창으로 열린다. 

    (속성 작성법 : 속성명="속성값")

  img태그 : 이미지를 첨부할 수 있는 태그이다. src 속성에 첨부하고 싶은 이미지 파일명을 작성하고 width 속성으로 크기를 지정할 수 있다. 여는 태그만 존재한다.

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
안녕하세요				감사해요
잘있어요
<br>
다시만나요

<h1>제목 1</h1> 
<h2>제목 2</h2>
<h6>제목 6</h6>
<p>p태그는 문단을 나타내는 태그</p>

<a href="https://www.naver.com" target="_blank">네이버</a><br>
<a href="html01.html">html01.html 파일로 이동</a><br>

<img src="dog01.jpg" width = "300px">
</body>
</html>

 

2-2. table (표 만들기)

  tr : 행을 만드는 태그

  td : 열을 만드는 태그

  colspan : 행 병합 (colspan="병합할 행의 개수")

  rowspan : 열 병합 (rowspan="병합할 열의 개수")

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>표 만들기</title>
</head>
<body>
<table border="">
	<tr>
		<td colspan="2">1</td>
		<td rowspan="2">3</td>
	</tr>
	<tr>
		<td>4</td>
		<td>5</td>
	</tr>
</table>
</body>
</html>

실행 결과