Developer Note/국비과정 수업내용 정리&저장

24년 09월 27일

DH_PARK 2024. 10. 3. 21:54

Map 이란 ?

  • Map은 리스트나 배열처럼 순차적으로(sequential) 해당 요소 값을 구하지 않고 key를 통해 value를 얻는다.
  • 맵(Map)의 가장 큰 특징이라면 key로 value를 얻어낸다는 점이다.

 

특징

1. 요소의 저장 순서를 유지하지 않습니다.

key :  중복을 허용  X

value :  중복은 허용 O

 

Set : 

 Set 인터페이스는 List와 유사하지만 중복이 허용되지 않고 기본적으로는 순서가 유지 되지 않습니다. 구현 클래스로는 HashSet, LinkedHashSet, EnumSet, TreeSet, CopyOnWriteArraySet 등이 있으며 가장 널리 사용되는것은 HashSet 입니다. 순서가 필요한 경우 LinkedHashSet 클래스나 SortedSet 인터페이스를 구현한 TreeSet등을 사용할 수 있습니다.

  • HahsSet
  • TreeSet :비교적 검색속도 빠르게 하기 위해

List : List 인터페이스는 배열과 유사한 자료구조로 중복이 허용되면서 저장순서가 유지되는 구조를 제공 합니다. 구현 클래스로는 Vector, ArrayList, LinkedList 가 있으며 가장 널리 사용되는것은 ArrayList 입니다.

자료구조 오버헤드

많은 데이터를 다룰 때 array 리스트는 부하가 큼

중간값이 삭제당한다면 삭제당한 값 뒤의 인덱스들은 인덱스가 하나씩 밀림

Property 란?

  • Properties는 HashMap의 구버전인 Hashtable을 상속받아 구현한 것으로, Hashtable은 키와 값을 (Object, Object)의 형태로 저장하는데 비해 Properties는 (String, String)형태로 저장하는 보다 단순화된 컬렉션 클래스이다.
  • 주로 애플리케이션의 환경설정과 관련된 속성을 저장하는데 사용되며 데이터를 파일로부터 읽고 쓰는 편리한 기능을 제공한다. 그래서 간단한 입출력은 Properties를 활용하면 몇 줄의 코드로 쉽게 해결할 수 있다.

오후

스윙 : 자바에서 사용하는 gui 개발용 라이브러리

package C20;
//swing 클래스 임포트해옴
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JTextField;

class C04GUI extends JFrame{
	C04GUI(){
		super("네번째 프레임입니다");
		setBounds(100,100,500,500); 
//프레임(창) 의 크기,위치를 지정함(x,y,가로,세로)
		//Panel 생성
		JPanel panel = new JPanel();
//panel 객체 생성
		//버튼 추가
		JButton btn1 = new JButton("Button1");
		btn1.setBounds(10,10,100,30);
		//버튼 추가
		JButton btn2 = new JButton("Button2");
		btn2.setBounds(120,10,120,30);
//버튼을 생성하고 크기,위치를 지정(x,y,가로,세로)
		//TextField 추가
		JTextField txt1 = new JTextField();
		txt1.setBounds(10, 50, 210, 30);
		JTextField txt2 = new JTextField();
		txt2.setBounds(10, 90, 210, 30);

		//panel의 Layout 초기화
		panel.setLayout(null);

		//Panel을 Frame에 추가
		add(panel);

		//컴포넌트를 Panel 에 추가
		panel.add(btn1);
		panel.add(btn2);
		panel.add(txt1);
		panel.add(txt2);

		setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		setVisible(true);
	}
}

public class C04SwingMain {

	public static void main(String[] args) {

		new C04GUI();

	}
}

'Developer Note > 국비과정 수업내용 정리&저장' 카테고리의 다른 글

24년 10월 1일  (6) 2024.10.07
24년 09월 30일  (1) 2024.10.03
24년 09월 26일  (1) 2024.10.03
24년 09월 25일  (1) 2024.10.03
24년 09월 24일  (4) 2024.10.03