프로그래밍/JAVA
-
JAVA - String 배열프로그래밍/JAVA 2021. 12. 23. 23:33
String 배열의 선언과 생성 String 배열의 기본값은 null이므로 각 요소의 값은 null로 초기화 된다. String[] name = new String[3]; 초기화 String은 원래 클래서여서 new 생성자를 텅해 객체를 생성해야 하지만 String 클래스만 "kim"과 같이 큰따옴표만으로 간략히 표현하는 것이 허용된다. String[] name = new String[3]; name[0] = new String("Kim"); name[1] = new String("Moon"); name[2] = new String("Park"); String[] name = new String[3]; name[0] = "Kim"; name[1] = "Moon"; name[2] = "Park"; 기본형 ..
-
JAVA - 배열 (array)프로그래밍/JAVA 2021. 12. 22. 22:01
배열이란? 같은 타입의 여러 변수를 하나의 묶음으로 다루는 것, 서로 다른 타입의 변수들로 구성된 배열은 만들 수 없다. 배열의 선언과 생성 타입[] 변수이름;// 배열을 선언(배열을 다루기 위한 참조변수 선언) 변수이름 = new 타입[길이];// 배열을 생성(실제 저장공간을 생성) 배열을 선언하는 것은 생성된 배열을 다루기 위한 참조변수를 위한 공간이 만들어질 뿐이다. 배열을 생성해야만 비로소 값을 저장할 수 있는 공간이 만들어진다. int[] score = new int[5]; 배열의 인덱스 생성된 배열의 각 저장공간을 '배열의 요소(element)'라고 한다. 각 요소에 접근하는 방법은 '배열이름[인덱스]'의 형식으로 접근할 수 있다. 배열의 인덱스는 배열의 요소마다 붙여진 일련번호로 각 요소를 ..
-
알기 쉬운 JAVA HashTable, HashMap에 대해 알아보자프로그래밍/JAVA 2020. 5. 21. 22:18
HashTable, HashMap HashTable, HashMap의 특징 1) java.util.Map 인터페이스를 구현한 컬렉션이다. 2) key와 value가 매핑되어 저장된다. 3) key값은 중복된 값을 지정할 수 없다. (value값은 중복 가능) 4) Vector와 ArrayList는 index로 순서를 구분하기 때문에 데이터 찾기가 어렵다. 5) 반대로 HashTable과 HashMap은 key값을 통해 데이터를 찾기가 쉽다. 6) HashTable은 동기화가 되어 있고 HashMap은 동기화가 되어있지 않다는 데 차이가 있다. 7) 둘의 기능은 똑같다. 하지만 웹에서는 동기화가 되지않아서 더 가벼운 HashMap을 자주 쓴다. 생성 방법 다른 자료구조와 같이 제네렉 타입의 변수()를 사용..
-
알기 쉬운 JAVA HashSet에 대해 알아보자프로그래밍/JAVA 2020. 5. 15. 14:04
HashSet HashSet의 특징 1) java.util.Set 인터페이스를 구현한 컬렉션이다. 2) List 인터페이스와 반대되는 특징을 가지고 있다. (ex: Vector, ArrayList) 3) 데이터를 저장한 순서를 기억하지 않는다. (무작위로 저장) 4) 데이터 중복 저장을 허용하지 않는다. 5) 다양한 타입의 데이터들을 저장할 수 있다. 6) 기본형 데이터는 저장할 수 없다. * HashSet이 자체적으로 중복을 체크하는 원리 HashSet은 객체를 저장하기 전에 객체의 hashCode()를 호출하여 해시코드를 얻어낸다. 그리고 이미 저장되어 있는 객체들의 해시코드와 비교한다. 만약 동일한 해시코드가 있다면 다시 equals() 메소드로 두 객체를 비교해서 true가 나오면 동일한 객체로 ..
-
알기 쉬운 JAVA Enumeration과 Iterator 인터페이스에 대해 알아보자프로그래밍/JAVA 2020. 5. 14. 22:42
Enumeration과 Iterator 인터페이스 Enumertation와 Iterator는 주로 ArrayList, Vector, HashMap 등 컬렉션과 자주 쓰이며 배열에서 반복문을 이용하여 데이터를 출력하는 것과 같이 반복문을 통해 데이터를 한번에 출력할 수 있도록 도와준다. 둘의 기능은 거의 비슷하며 가능하면 Enumeration 대신 Iteration를 사용을 권장하고 있다. 1. Enumeration Enumeration과 Iterator는 객체들을 집합체 형태로 관리하게 해주는 인터페이스다. 이 인터페이스에는 각각의 객체들을 한 번에 하나씩 처리할 수 있는 메소드를 제공 한다. 논리적인 커서가 존재하여 커서를 이동하면서 데이터를 꺼내온다. Enumeration과 함께 쓰이는 메소드 boo..
-
알기 쉬운 JAVA ArrayList에 대해 알아보자프로그래밍/JAVA 2020. 5. 14. 18:10
ArrayList ArrayList의 특징 1) java.util.List 인터페이스를 구현한 컬렉션이다. 2) Vector와 기능이 동일하다. 2) 객체의 삽입, 삭제, 이동이 쉽다. 3) 데이터를 저장한 순서를 기억한다. (순서대로 저장) 4) 데이터 중복 저장을 허용한다. 5) 다양한 타입의 데이터들을 저장할 수 있다. 6) 기본형 데이터는 저장할 수 없다. ArrayList 생성 방법 Vetor와 마찬가지로 여러 데이터 타입을 저장할 수 있지만, 대체적으로 같은 자료 유형을 담기 위해 사용한다. 이 때 제네릭 를 사용한다. 같은 문자열의 값만 삽입 가능한 ArrayList를 만들고자 하면 다음과 같이 E에 String을 지정하여 생성한다. List arrList = new ArrayList(); ..
-
알기 쉬운 JAVA 벡터 클래스를 배열로 바꾸는 방법에 대해 알아보자프로그래밍/JAVA 2020. 5. 13. 17:57
벡터 클래스(Vector class)의 데이터를 배열로 넣어주는 방법 벡터 클래스(Vector class)를 배열로 넣어주기 위해서는 copyInto(Object[] anArray) 메소드를 사용한다. class Person { private String name; private int age; public Person(String name, int age) { this.name = name; this.age = age; } // setter, getter 캡슐화 public void setName(String name) { this.name = name; } public String getName() { return name; } public void setAge(int age) { this.age =..
-
알기 쉬운 JAVA 벡터 클래스(Vector class)에 대해 알아보자프로그래밍/JAVA 2020. 5. 13. 13:48
벡터 클래스(Vector class) 배열은 같은 종류의 여러 데이터를 다루는 데 편리한 자료 구조이지만, 데이터의 크기를 예측할 수 없는 응용프로그램에서 사용하기에는 불편하다. Vector class는 데이터를 가변 크기로 설정할 수 있고, 요소의 개수에 따라 자동으로 크기를 조절한다. 벡터 클래스의 특징 1) java.util.List 인터페이스를 구현한 컬렉션이다. 2) 객체의 삽입, 삭제, 이동이 쉽다. 3) 데이터를 저장한 순서를 기억한다. (순서대로 저장) 4) 데이터 중복 저장을 허용한다. 5) 다양한 타입의 데이터들을 저장할 수 있다. 6) 기본형 데이터는 저장할 수 없다. 생성 방법 1. 여러 데이터 타입 저장 제네릭(generics)은 JDK 1.5버전 부터 도입되었다. 제네릭이 도입된..