Set 인터페이스도 ArrayList와 기능들은 비슷하게 구현되어있다직접 코드를 작성하면서 알아보자 ArrayList 와는 다르게 요소가 똑같다면 들어가지가않는다 set 인터페이스는 인덱스 개념이 없기때문에 요소를 순회하려면 foreach을 활용하거나Iterator를 활용하도록 하자 set 인터페이스를 활용하여 ID를 만드는 코드를 작성하여 이미 동일한 ID가있으면 등록되지않는 코드를 작성해보자 더보기package structure.ch06;import java.util.HashSet;import java.util.Scanner;public class UniqueUserIDSystem { private HashSet userIDs; private Scanner sc; public UniqueUser..
List 인터페이스에는 여러 구현체가 있는데 다음과 같다 먼저 ArrayList에 대해 알아보자 ArrayList는 클래스 이며 객체생성이 가능하다데이터타입을 명시화시키기위해 제네릭 을 사용하여 어떤 데이터타입의 ArrayList인지 표현할수있다객체 생성을통해 변수 선언과 동시에 초기화도 가능하다생성자에 asList 메소드를 사용해 값을 넣어주면 된다 다음은 ArrayList에 있는 기능들을 살펴보자먼저 값을 추가하는 add 메소드가 있다기본적으로 값을 하나 넣으면 앞에서부터 들어가지만 내가 원하는위치에 넣는것도 가능하다 처음엔 3을 넣고 그다음은 null을 넣고 인덱스 1의 위치에 10을 넣으면 결과가 어떻게 나올까? 3,null에서 1의자리에 10이 들어가니까 null이 뒤로 밀린것을 확인..
LinkedList는 값을 넣을때는 큐와 마찬가지로 차곡차곡 넣지만뺄때는 원하는 위치에 있는 값을 뺄수 있다는 장점이있다이해를 돕기위해 직접 코드로 구현해보자 먼저 값을 저장할 Node 클래스를 만들어보자 해당 데이터의 값을 String타입으로 data라는 변수에 담아주고자기 참조를 활용해 next라는 곳에 객체를 담도록 설계해주도록 해준다 LinkedList의 맨 앞부분을 가르킬 head 라는 변수를 선언해주고생성자는 처음 생성시 head는 null인 상태가 되도록 만들어주자 다음은 노드를 추가해주는 addElement 메소드를 만들어보자지역변수 createNode를 생성해 사용자 입력값을 담아주고제일 처음 넣을때엔 createNode의 주소값을 head에 넣어준뒤두번째에 넣은 값부터는 creat..
배열을 활용하여 선입선출 형식인 큐를 구현 해보자 멤버변수에는 항상 첫부분 0을 가르킬 front와큐의 사용자 지정 크기를 담을 capacity그리고 요소의 갯수를 담을 size를 선언한다 앞서 배열로 만든 Stack 형식과 똑같이 인데스 번호 0부터 넣는 메소드를 만들어주자 다음은 앞에 있는 데이터를 꺼내서 item이라는 변수에 저장하여 값을 확인하는 메소드를 만들어보자먼저 item에 array[0]의 데이터의 값을 저장한다음반복문을 통해 array[0]에있는데이터가 array[1]에 있는 데이터값을 가지고 다음 반복때에 array[1]에있는데이터가 array[2]에있는 데이터를 가지게하여 뒤에있는 인덱스번호를 앞으로 한칸씩 땡겨오는식으로 설계하도록 하자 마지막 요소에는 0을 넣어서 앞으로 한칸씩 ..