전체 글

여러분 안냐세욤
엄청 간단하다. puble Object get(int index) { return elementData[index]; } 그치그치 으아아아유ㅠㅠㅠ 아니 근데 왜 null이 뜨는거지?? 분명히 똑같이 했는데.. ㅇNPE : NullPointerException 자바 데이터 타입은 기본 타입(privmitive type)과 참조 타입(reference type)이 있다. 참조 타입은 객체의 생성 이전에는 할당된 메모리 주소가 없는 null을 참조하는 변수이며, 이를 가지고 작업을 수행하면 NPE가 발생하게 된다. 자바에서는 기본 데이터형을 제외한 모든 데이터 타입을 참조 데이터형이라고 한다. (참조 자료형) new를 사용해서 객체를 만드는 모든 건 참조 데이터형이라고 생각해도 ㅇㅇ (단 String은 제외라..
add를 구현하고, 이를 활용하여 addFirst를 구현해보자. 중간에 넣으면 하나씩 하나씩 뒤로 땡긴다 -> 시간이 많이 걸린다. Array를 통한 List의 최대 단점이다. LinkedList배울때 왜 저게 단점인지 극명하게 드러난다. 자 중간에 어떤 값을 넣으려면.. (예를들어 numbers.add(1, 15);) 맨 끝에 있는 data를 한 칸씩 뒤로 빼서 자리를 만들어 주어야 한다. 그러려면 코드를 어떻게 짜줘야 할까? 참고: ArrayList에 내재된 배열 이름을 elementData로 정해줬었다. elementData[4] = elementData[3]; elementData[3] = elementData[2]; elementData[2] = elementData[1]; 이렇게 써줘야 뒤로 ..
ㅇ데이터를 끝에다가 추가 -> .addLast()라는 메서드를 구현해보자~! addLast를 구현해주기 위해서, ArrayList클래스로 가보자. 아!! 이제 알았다 ArrayList클래스에는 구현을 해주는 거였구나 아 그럼 아까는 ArrayList의 배열인 elementData와 size를 만들어 준거구나
이번 목표: List datastructure를 배열을 이용하여 어떻게 만들 것인가? 이클립스에서 list.arraylist.implementation package를 만들고, class를 두개 만들어 줬다. 1. public static void main(String[] args)가 들어있는 Main class > 이 클래스에서 ArrayList를 실행해보자. 2. ArrayList class (여기는 public static void main(String[] args)를 안넣었다.) > ArrayList객체를 여기에 구현해보자. Main에 들어가서 ArrayList객체를 생성한다. 숫자들을 요소로 하는 리스트를 만드려고 한다. 이름을 numbers라고 해주자 >>지금 내가 생성한 ArrayList.j..
리스트라는 완제품 안에 배열이라는 부품을 사용한다. array list 데이터를 삭제/추가할 때마다 데이터를 앞으로 한칸씩 땡기거나 뒤로 밀어야 함. 단: 배열을 이용해 리스트를 만들게 되면 데이터 추가 삭제할때 오래 걸림 장: 가져올 때. -> 인덱스 값으로 데이터를 가져올 때. --> 기본적으로 배열을 이용하기 때문에, 인덱스를 이용할 때 유리. +배열의 사이즈 구하듯 arraylist의 사이즈를 찾을 수 있음. (요소가 몇개인가) 자바에서는 arraylist 자료구조가 내장되어있기 때문에 내가 직접 구현해서 사용할 일은 x 나는 어레이리스트를 사용하는 방법을 알아야 함 사용방법을 정확히 인지했을 때, 구현방법에서 길을 잃지 않을 수 있음. 이번목표: Array List를 어떻게 사용하는가. 자바는 ..
잡아야 할 중요한 키워드 #순서 #중복허용 Array와List 둘 다 순서대로, 중복해서 데이터를 저장할 수 있다. array기능보다 list의 기능이 더 많다. 일반적인 사용방법을 비교해보자면.. array는 인덱스가 중요하다. 인덱스로 바로 찾아갈 수도 있고. list도 내부적으로는 인덱스를 가지고 있겠지만, list는! 쟤의 다음 데이터는 이거고, 이거의 다음 데이터는 저거고,, 이렇게 순서가 중요하게 여겨진다. 값의 추가 a라는 배열의 a[3]값은 지금 40인데, 내가 50을 넣는다고 하자 배열에서는 값이 덮어쓰기가 된다. 그러나 리스트 a라면, 3번 인덱스 자리에 50이 넣어지고, 기존의 a[3]은 a[4]로 인덱스 넘버가 밀린다. 값의 삭제 배열은 그 인덱스 자리가 빈자리가 되지만, 리스트는 ..
java에서는 '배열'이라는 것을 어떻게 사용하는지, 기능하는지 배워보자 배열을 만드는 방법 int[] numbers1 =new int[4] 오케이 배열 선언은 C#이랑 다를게 없구나 자바에서 배열의 사이즈를 출력하고 싶으면 어떻게 할까? System.out.printIn(numbers1.length) .length라고 하는 인스턴스 변수를 사용하면 numbers1의 배열 크기를 알려준다. 단, 내가 설정한 배열길이가 아닌, 값이 들어있는 요소의 갯수를 보여준다. 내가 지정한 값! 몇개 값을 넣었느냐.. 이런거지 +인덱스와 다르게, 배열 크기는 1부터 카운팅 함 순차적으로 처리하고 싶다면? interation. 반복! 배열과 반복을 결합해서 자바에서 어떻게 처리할까? 이거 다 내가 프로그래밍에서 배운 기..
데이터를 효율적으로 저장하고 꺼내가 쉽게 정리 정돈하는 것. 대규모 데이터를 다룬다. 대학에서는 주로 자료구조를 2학년 때 가르친다고 한다. 이게 어려운 이유가, 경험이 없고 자료구조를 공감할 수 없기 때문에 자신이 이해하는 바를 의심하게 되어서 이해와 자신감이 흔들리기 때문이라고 말한다. 심리적인 어려움이 흥미를 잃지 않도록 차근차근 공부해보자. //공감이 안된다는 건 대부분이 '굳이 이렇게 해야하는가' '이렇게 배워서 어디에 써먹는다는 거야' 라는 생각을 하게 된다고 한다는 것이다. 그래서 이럴 때에는, 마음에 여유를 가지고, 경험을 더 쌓으라고 한다. 자신이 이 자료구조를 배울 준비가 되었는지 정기적으로 체크하라고 한다. 준비가 되지 않았다면 유보하고 다시 돌아와도 된다고 말한다. 잘 이해가 안가더..
· 기타
비주얼 스튜디오에서 만들어 본 프로젝트를 exe파일로 만들어보고 싶으실텐데요, 빌드를 통해 exe를 만드는 방법을 알아보겠습니다. 1단계. 솔루션 정리 빌드 메뉴에서 솔루션 정리를 클릭합니다. 솔루션 정리(Clean)란? 기타 중간 파일이나 출력 파일을 삭제하는 작업을 수행합니다. - 솔루션 정리를 수행하고 빌드를 하게 되면 중간 파일과 출력 파일이 새롭게 생성됩니다. - 다시 빌드를 하는 효과를 볼 수 있게 됩니다. - 보통 배포전에 솔루션을 통으로 다시 빌드하는 경우가 많기 때문에 많이 사용하는 기능은 아니라고 합니다. - 오류, 경고가 있는지 확인합니다. 2단계. 프로젝트 속성 창에 들어가서 응용 프로그램 탭으로 가기 다음과 같이 진행합니다. [프로젝트] -> [(프로젝트명)속성] 맨 아래 프로젝트..
· 기타
기초문제 10-1 다음 랜덤에서 나올 수 있는 숫자 열거 1. random.Next(3, 10) ->3,4,5,6,7,8,9 2. random.Next(-2, 4) ->-2,-1,0,1,2,3 10-2 참고로 교재에 i는 오타 맞다. 10-3 (1) new Random() (2) int randomNumber = random.Next(8, 50)
히어로맛쿠키
자꾸 생각나는 체리쥬빌레