배열

    [Java] 컬렉션 개념 복습

    컬렉션 ? 컬렉션 이란 여러 개의 다양한 데이터들을 쉽고 효과적으로 처리할 수 있도록 표준화 된 방법을 제공하는 클래스들의 집합 데이터를 효율적으로 저장하는 자료구조 와 데이터를 처리하는 알고리즘 이 미리 구현되어 있음 Java.util 패키지에 포함 1. LIST List 인터페이스의 특징에 대해 이해하고 설명할 수 있다. List는 저장 순서가 유지되고 중복 저장을 허용한다. List 인터페이스 계열의 자료구조를 이해하고 설명할 수 있다. ArrayList, LinkedList, Vector, Stack이 있다. ArrayList의 사용 목적에 대해 이해할 수 있다. 가장 많이 사용되는 컬렉션 리스트이다. ArrayList는 배열의 단점을 보완하기 위해 만들어졌다. 배열은 크기를 변경할 수 없고, 요..

    [Java] 객체 배열 개념 복습

    객체 배열의 사용 목적과 구조를 이해하여 객체 배열을 생성하고 개발에 활용할 수 있다. 객체 배열은 레퍼런스 변수에 대한 배열이다. 생성한 인스턴스를 배열을 이용해서 관리하면 동일한 타입의 여러 개 인스턴스를 각각 취급하지 않고 연속 처리할 수 있어 유용하다. 또한 반환값은 1개의 값만 반환할 수 있기때문에 동일한 타입의 여러 인스턴스를 반환해야 하는 경우 객체 배열을 사용할 수 있다. Car 라는 클래스 타입의 객체를 car1 car2 각각의 객체로 생성했을 때 동일한 기능을 수행할 때 모든 객체를 일일히 동작해줘야 한다. car1.start(); car2.start(); .. 이러한 Car타입의 객체를 배열에 담으면 for문을 이용해 하나씩 접근하여 동일한 메소드를 처리할 수 있다. //향상된 for..

    [Java] day20. 컬렉션 프레임워크 Set / Map

    Set 저장 순서가 유지되지 않고, 중복 인스턴스도 저장하지 못하게 하는 자료구조 수학에 비유하면 집합과 비슷한 개념이다. 구현 클래스 : HashSet, LinkedHashSet, TreeSet Set 인터페이스를 구현 한 Set 컬렉션 클래스의 특징 1. 요소의 저장 순서를 유지하지 않는다. 2. 같은 요소의 중복 저장을 허용하지 않는다. (null 값도 중복되지 않아 하나의 null 만 저장한다) HashSet 클래스 Set 컬렉션 클래스에서 가장 많이 사용 되는 클래스 중 하나이다. JDK 1.2부터 제공되고 있으며 해시 알고리즘을 사용하여 검색 속도가 빠르다는 장점을 가진다. HashSet Set에 인스턴스를 저장할 때 hash함수를 사용하여 처리 속도가 빠름 동일 인스턴스 뿐 아니라 동등 인스..

    [Java] day19. 컬렉션 프레임워크 LinkedList

    하루만에 많을 양을 학습하려니 약간 헤롱거리는 것이.. 이게 그 말로만 듣던.. 타자치는 감자 상태??? 가 되어버렸다. LinkedList ArrayList가 배열을 이용해서 발생할 수 있는 성능적인 단점을 보완하고자 고안되었다. 내부는 이중 연결리스트로 구현 되어 있다. 단일 연결 리스트 저장한 요소가 순서를 유지하지 않고 저장 되지만 이러한 요소들 사이를 링크로 연결하여 구성하며 마치 연결 된 리스트 형태인 것 처럼 만든 자료구조이다. 요소의 저장과 삭제 시 다음 요소를 가리키는 참조 링크만 변경하면 되기 때문에 요소의 저장과 삭제가 빈번히 일어나는 경우 ArrayList보다 성능면에서 우수하다. 하지만 단일 연결리스트는 다음 요소만 링크하기 때문에 이전 요소로 접근하기 어렵다. 이를 보완하고자 만..

    [Java] day19. 컬렉션 프레임워크 ArrayList

    컬렉션에 대해서는 완전히 처음들어서 큰일났다. 수업 시작하니 나름 자료구조를 배웠다고 오 자료구조... 했는디 수업 뒤로갈수록 아 코드 너무 길다.... 하나 사용하려면 정말 Iterator dIter = ((LinkedList)stringList).descendingIterator(); 이런거 진짜.... 너무 오.... 컬렉션 ? 자바는 자료구조를 사용해서 객체들을 효율적으로 추가, 삭제, 검색할 수 있도록 인터페이스와 구현클래스를 java.util 패키지에 제공한다. 이들을 총칭해서 컬렉션 프레임 워크라고 부른다. 컬렉션은 객체의 저장을 뜻하고, 프레임워크는 사용 방법을 정해놓은 라이브러리를 말하는 것. 컬렉션 프레임워크에는 크게 List, Set. Map이 있다. List 자료들을 순차적으로 나열..

    Java 문제풀이. 야구게임. 랜덤한 숫자 맞추기 !

    문제 /* * 숫자 야구게임 만들기 길이 4의 정수 배열을 만들고 각 인덱스에는 0 ~ 9까지의 중복되지 않는 난수를 저장한다. * 4자리 숫자를 입력받아 * 스트라이크, 볼 등의 힌트를 주며 4자리 난수 숫자를 맞추는 게임이다. * 숫자와 자리가 모두 맞는 경우 스트라이크, 숫자는 맞지만 자리는 * 맞지 않는 경우는 볼 이다. 예) 9183 으로 난수가 발생하면 9356 입력 시 1S 1B이다. * * 단, 기회는 총 10번이며, 10번 이내에 맞추는 경우 "정답입니다." 출력 후 게임 종료 10번의 기회가 모두 소진 되면 * "10번의 기회를 모두 소진하셨습니다. 프로그램을 종료합니다." 출력 후 종료 * * 또한 4자리의 정수를 입력하지 않은 경우에는 "4자리의 정수를 입력해야 합니다." 출력 후 ..

    Java 문제풀이. 홀수를 입력받아 오름/내림차순으로 출력하기 (배열)

    문제 /* 홀수인 양의 정수를 입력 받아 입력 받은 크기 만큼의 정수형 배열을 할당하고 * 배열의 중간까지는 1부터 1씩 증가하여 오름차순으로 값을 넣고, * 중간 이후부터 끝까지는 1씩 감소하여 내림차순으로 값 넣어 출력하세요 * * 단, 홀수인 양의 정수를 입력하지 않은 경우에는 "양수 혹은 홀수만 입력해야 합니다."를 출력하세요 * * -- 입력 예시 -- * 홀수인 양의 정수를 입력하세요 : 7 * * -- 출력 예시 -- * 1 2 3 4 3 2 1 * * -- 입력 예시 -- * 홀수인 양의 정수를 입력하세요 : 8 * * -- 출력 예시 -- * 양수 혹은 홀수만 입력해야 합니다. */ 작성한 코드 package com.greedy.section01.array.level03.hard; imp..

    [Java] day12. 객체배열

    객체배열 레퍼런스 변수에 대한 배열 동일한 타입의 여러 인스턴스들을 배열로 관리할 수 있다. 생선한 인스턴스도 배열을 이용해서 관리하면 동일한 타입의 여러 개 인스턴스를 각각 취급하지 않고 연속 처리할 수 있어서 유용하다. 또한 반환값은 1개의 값만 반환할 수 있기 때문에 동일한 타입의 여러 인스턴스를 반환해야 하는 경우 객체 배열을 이용할 수 있다. 선언 클래스명[] 배열명; 클래스명 배열명[]; Product[] pArr; Product pArr[]; 할당 배열명 = new 클래스명[배열크기]; pArr = new Product[3]; 선언과 동시에 할당 클래스명 배열명[] = new 클래스명[배열크기]; Product pArr[] = new Product[3]; 인덱스를 이용한 초기화 배열명[i] ..

    Java 문제풀이. 랜덤한 로또번호 중복없이 오름차순 정렬하기

    문제 * 로또번호 생성기 * 6칸 짜리 정수 배열을 하나 생성하고 * 1부터 45까지의 중복되지 않는 난수를 발생시켜 각 인덱스에 대입한 뒤 * 오름차순 정렬하여 출력하세요 작성한 코드 int[] rotoNum = new int[6]; //배열 선언 및 할당 for (int i = 0; i