Map 특징 key와 value 쌍으로 이루어져 있다. key는 중복이 되지 않지만, value는 중복이 가능하다. (ex: 주민번호 - 이름) key를 통해 value를 빠르게 찾을 수 있다.(key는 입력할 때 hashing 처리함) key는 set으로 되어있다. value로 key를 찾기는 어렵다. HashMap 중복과 순서가 허용되지 않으며 null값이 올 수 있다. 가장 많이 사용된다. TreeMap 정렬된 순서대로 키(Key)와 값(Value)을 저장하여 검색이 빠르다. map의 메소드 메소드명 설명 반환값 get(키) 키로 값을 얻어온다. Object: 값을 반환 toString() 리스트 값을 [값, 값...]의 문자열 형태로 돌려준다. String put(키, 값) 키와 값을 추가한다 O..
CATEGORY
Set 특징 요소값이 중복이 되지 않는다. 저장한 순서를 유지하지 않는다. 따라서 index가 없다. HashSet Set에서 가장 많이 사용하는 클래스 해시 알고리즘(hash algorithm)을 사용해서 검색속도가 빠르다. 순서를 예측할 수 없음 TreeSet 값을 정렬하지만 정렬방법을 지정할 수는 없다. 그래서 HashSet보다 상대적으로 느리다. Set의 메소드 메소드명 설명 반환값 toString() 리스트 값을 [값, 값...]의 문자열 형태로 돌려준다. String add(값) 값을 추가한다 boolean: add가 성공했는지 여부 addAll(콜렉션) Collection을 통째로 추가한다. boolean: add가 성공했는지 여부 contains(값) 리스트에 값이 들어있는지 확인 bool..
https://lelecoder.com/78 Java 리스트(List) 컬렉션 종류 ArrayList, Vector, LinkedList List 컬렉션의 종류로는 ArrayList, Vector, LinkedList가 있다. 애플리케이션 개발 업무를 하면서 List 컬렉션을 많이 사용한다. 특히 ArrayList를 많이 사용하고, 가끔 Queue 자료구조를 사용할 때만 LinkedList.. lelecoder.com 배열과의 차이점 배열 크기를 미리 알고 있어야 한다. 크기는 고정되어있다. 배열에 있는 중간 값을 빼내면 비어있는 채로 유지된다. index기반으로 접근이 가능하다. 기본자료형(primitive type), 클래스 자료형도 담을 수 있다. 리스트 크기가 고정되어있지 않고, 동적으로 할당된다..
객체지향 언어 특징들을 다룬 좋은 블로그가 있어 간단하게 정리해보았다. 요약이니 각 포스팅을 들어가서 자세하게 공부하자 https://codevang.tistory.com/78?category=827598 객체지향 언어의 특징(추상화) [1/4] 그럼 객체지향언어가 가지고 있는 대표적인 특징을 기준으로 C언어와 Java를 비교해보겠습니다. 1. 추상화 (Abstract) 중요한 정보만을 표현함으로써 공통의 속성이나 기능을 묶어 이름을 붙이는 codevang.tistory.com 추상화 어떠한 정보를 묶음으로 표현할 때 우리가 필요한 정보들의 형태만 모아서 선언해주는 것. 다시말해, 수많은 정보 중 클래스의 기능을 수행하기 위해 꼭 필요한 정보와 행위를 묶어서 설계하는 것 Java에서는 하나의 객체를 ..
추상클래스 (Abstract Class) 일반 클래스와 크게 다를 것이 없으나, 추상메서드를 선언하고 상속을 통해서 자식 클래스에서 완성하도록 유도를 하는 클래스이다. 추상 메소드가 하나라도 존재하는 클래스 일반 메소드도 존재할 수 있다. 추상 클래스로는 객체를 생성할 수 없다. → 상속을 위한 클래스이므로. 추상 클래스를 물려받은 자식 클래스만 객체 생성 가능(상속 문법은 클래스 상속과 동일함) 추상메소드 상속 기반 부모 클래스에서는 구현하지 않고, 자식 클래스에서 반드시 구현해야 하는 메소드이다. // 추상 메소드 public abstract void cry(); // 부모 클래스에서 구현하지 않음 // 일반 메소드 public void eat() { System.out.println("냠냠"); }..
https://mainpower4309.tistory.com/7 [자바/JAVA 개발]자바 은닉화(encapsulation): 캡슐화 - 캡슐화 개념 캡슐화는 일반적으로 변수와 클래스를 하나로 묶는 작업이다. 캡슐화의 중요 목적은 중요한 데이터를 보존,보호하기 위해 사용하는 것이다. 즉 캡슐화는 클래스에 담는 내용중 mainpower4309.tistory.com 은닉화 (encapsulation): 캡슐화 캡슐화란 일반적으로 변수와 클래스를 하나로 묶는 작업이다. 캡슐화의 중요 목적은 중요한 데이터를 보존,보호하기 위해 사용하는 것이다. 객체 지향 프로그래밍에서 객체의 데이터는 객체 외부에서 직접적으로 접근하는 것을 막는데, 객체 데이터를 외부에서 읽고 변경하게 되면 객체의 무결성이 깨질 수 있기 때문이..
https://kephilab.tistory.com/46 3. Java 자바 - 클래스의 구성 멤버 [ 필드 ] 클래스에는 객체가 가져야할 구성 멤버가 선언된다. 구성 멤버에는 필드(Field) 생성자(Constructor) 메소드(Method) 가 있다. 이 구성 멤버들은 생략되거나 복수 개가 작성될 수 있다. - 필드 객체의 고 kephilab.tistory.com 클래스에는 객체가 가져야할 구성멤버가 선언된다 필드 생성자 메소드 이 구성멤버들은 생략되거나 복수개가 작성될 수 있다. 필드 (Field) 객체의 데이터를 저장하는 곳이다. public class Test { String fieldName; int fieldNumber; } 선언된 형태는 변수와 비슷하지만 차이점이 존재한다. 변수는 생성자..
https://velog.io/@gillog/원시타입-참조타입Primitive-Type-Reference-Type 원시타입, 참조타입(Primitive Type, Reference Type) boolean저장 가능한 범위 true/ falseJava가 데이터를 다루는 최소 범위가 1 Byte 이기 때문에 낭비적이지만 1 Byte를 사용한다.charJava의 경우 Unicode를 사용, 동양의 글자의 경우 2 Byte 필요하기때문에 char velog.io 원시 타입은 쉽게 말해, 정수, 실수, 문자, 논리 리터럴등의 실제 데이터 값을 저장하는 타입이고, 참조 타입은 객체(Object)의 번지를 참조(주소를 저장)하는 타입으로 메모리 번지 값을 통해 객체를 참조하는 타입이다. 원시타입 (primitive ..
풀이 더보기 이름 하나를 기준으로 세워놓고 각각의 이름과 비교하여 동명이인인지 구한다. 동명이인을 만났을 때, 동명이인의 수를 중복으로 검색하는 걸 방지하기 위해서 일종의 스위치(?)를 만든다 => boolean 이미 동명이인으로 판별이 되고 나서 다음 이름을 검색할 때 같은 이름으로 검색하는 것을 방지하기 위해서, 동명이인을 만났을 때 해당이름을 다른 값으로 바꿔준다. 동명이인을 만나서 다른 값으로 바뀐 경우 검색할 때 skip해준다 => continue String memberStr = "김혜수:송강호:정우성:이민정:송강호:이민정:이민정:이정재:이병헌:이정재"; String[] names = memberStr.split(":"); int sameCount = 0; for (int i = 0; i < ..
풀이 더보기 입력부분의 각 단어와 정답을 배열에 담아두고 반복문을 돌린다. String[] quizWord = {"승리", "사랑", "컴퓨터", "노트북"}; String[] answerWord = {"victory", "love", "computer", "notebook"}; int scores = 0; for (int i = 0; i < quizWord.length; i++) { System.out.print((i+1) + ". " + quizWord[i] + "을(를) 영어로 입력하세요 : "); String answer = scan.next(); if (answer.equals(answerWord[i])) { scores += 100 / quizWord.length; } } System.out...
반응형