배열
-
컬렉션 - Arrays 클래스와 메서드백엔드/자바 2021. 5. 20. 16:56
Arrays 클래스는 배열을 다루는데 유용한 메서드들이 정의되있다. 모든 메서드가 모든 Static으로 별도로 객체를 생성없이도 언제든 사용이 가능하다. 배열의 복사 - copyOf(), copyOfRange() copyOf()는 배열 전체를 복사해서 새로운 배열을 만들어서 반환한다. 반면 copyOfRange()는 지정한 범위만큼 복사를 해서 새로운 배열을 반환한다. 이때 copyOfRange()에 지정된 범위의 끝은 포함하지 않는다. public static void main(String[] args) { int arr [] = {0, 1, 2, 3, 4}; int arr1 [] = Arrays.copyOf(arr, arr.length); // {0, 1, 2, 3, 4} int arr2 [] = A..
-
자바스크립트 고차함수 - Map()프론트엔드/JavaScript 2020. 10. 3. 07:32
Map 메서드란? for 문을 대신할 수 있는 메서드로 forEach뿐 아니라 Map()도 있다. forEach 메서드는 for를 대체하여 배열을 순회시키며 어떤 동작을 반복하기 쉽게 한다. 반면 Map 메서드는 for문을 대체하여 배열을 순회시키며 새로운 배열을 만든다. 즉 특정 배열을 복사하기 쉽게 만든 것이 Map() 메서드다. 기존 for문을 이용한 배열 복사는 위 코드와 같다. 배열을 별도로 선언하고 내용을 복사해주는 식이다. forEach를 써도 배열을 따로 선언하고 복사해야해서 번거롭다. Map 메서드를 쓰면 for문이나 forEach 메서드보다 편하게 배열을 복사할 수 있다. Map 메서드는 인자로 받는 함수의 인자로 Map메서드를 호출한 배열의 요소, 인덱스, 배열 그 자체를 전달받을 수..
-
자바스크립트 고차함수 - Sort(), reverse()프론트엔드/JavaScript 2020. 10. 3. 02:56
sort(), reverse()의 문제점 자바스크립트에서는 배열을 정렬하는 Sort()라는 메서드가 있다. 이 메서드를 이용하면 위 코드처럼 유니코드에 의거해서 배열의 요소들을 오름차순에 따라 정렬한다. 내림 차순으로 정렬하고 싶을 땐 reverse() 메서드를 사용하면된다. 그런데 뭔가 좀 이상하다. 숫자 배열의 경우 해당 숫자를 숫자로서 비교하는 것이 아니다. 유니코드로 변환하여 문자열처럼 비교하므로 결과가 이상하게 나온다. 배열이 문자열일때는 괜찮은데, 숫자 배열의 경우 단순 sort(), reverse()로는 정렬에 오류가 난다. 고차함수를 활용한 sort 활용법 이럴 때는 고차함수를 활용하여 sort 메서드의 정렬 기준을 다시 설정해주면 된다. 우선 코드를 보자. 위 코드를 보면 sort() 메..
-
자바스크립트 배열(Array)프론트엔드/JavaScript 2020. 9. 21. 04:22
배열(Array)이란? 1개의 변수에 여러 개의 값을 순차적으로 저장할 때 사용한다. 자바 스크립트의 배열은 객체이며, 유용한 내장 메소드를 가졌다. 이때 자바 스크립트 배열은 다음과 같은 특징을 갖는다 1. 배열 요소의 타입이 고정되지 않아 한 배열 안에도 배열 요소의 타입이 다를 수 있다. 2. 배열 요소의 인덱스가 연속적이지 않아도 되고, 특정 배열 요소가 비어있을 수 있다. 3. 자바 스크립트에서 배열은 Array 객체로 다뤄진다. 배열의 생성 1. 배열 리터럴 let animal = ["사자", "호랑이", "강아지", "독수리", "너구리"]; 리터럴 방식으로 배열을 만들 땐 대괄호 ( [ ] ) 안에 ( , ) 쉼표 기준으로 요소들을 써넣으면 된다. 2. 생성자를 이용한 배열 let worl..
-
자바스크립트의 배열(Array)프론트엔드/JavaScript 2020. 9. 10. 00:18
배열(Array)이란? 자바스크립트에서 배열(Array)는 이름과 인덱스로 참조되는 정렬된 값의 집함. 배열을 구성하는 각각 값을 요소(element)라고 하며, 배열에서 위치를 가리키는 숫자는 인덱스(index)라고 함 자바스크립트 배열의 특징 1. 요소들의 타입이 고정되지 않아, 같은 배열에 있는 요소끼리 타입이 서로 다를 수 있다. 2. 배열 요소의 인덱스는 연속적이지 않아도 된다. 따라서 특정 요소는 비어있을 수 있다. 3. 배열은 Array객체로 다뤄진다. 배열의 생성 배열 생성하는 방법은 총 세가지다. 1. 배열 리터럴을 이용하는 방법 (예시의 arr1) 2. Array 객체의 생성자를 이용하는 방법 (예시의 arr2) 3. new 연산자를 이용한 Array 객체 생성 방법 (예시의 arr3)..
-
컬렉션 List - ArrayList백엔드/자바 2020. 8. 16. 03:17
ArrayList의 정의와 장점 컬렉션 프레임워크에서 가장 많이 사용되는 클래스로서 List 인터페이스를 구현한 클래스다. List 인터페이스를 구현했기에 데이터를 저장할 때 저장 순서가 유지되고 데이터 중복을 허용한다. 간단히 생각하면 우리가 배운 배열의 업그레이드 판이라고 생각하면 편하다. 실제로도 데이터의 저장공간으로 배열을 사용하며 배열을 기반으로 한다. ArrayList는 미리 배열의 크기를 입력할 필요가 없고 (물론 미리 입력해서 크기를 지정할 수 있지만, 그 크기를 초과해도 자동으로 배열을 확장해준다.) 한 개의 ArrayList에 다양한 자료형을 동시에 저장할 수 있다. ArrayList의 자료 저장 및 삭제 방식 ArrayList는 객체(Object) 배열을 이용해 데이터를 순차적으로 저..
-
참조 자료형 - 배열(array)백엔드/자바 2020. 7. 26. 03:10
1. 배열(array)이란? 동일한 자료형으로 선언된 데이터 공간을 메모리 상에 연속적으로 나열한 것. 즉 동일한 자료형끼리 모아준 것을 말한다. 2. 배열의 구성 배열의 선언은 '자료형 + [ ] + 배열 이름' / '자료형 + 배열 이름 + [ ]' 두 가지 방식이 있다. 두 가지 방식 모두 사용 상에는 차이가 없다. String[] weeks = new String[7]; weeks[0] = "월"; weeks[1] = "화"; weeks[2] = "수"; weeks[3] = "목"; weeks[4] = "금"; weeks[5] = "토"; weeks[6] = "일"; int numbers[] = new int[5]; numbers[0] =1; numbers[1] =2; numbers[2] =3; ..
-
3차원 배열C언어 2020. 7. 13. 06:09
3차원 배열이란 2차원 배열에서 더 나아가 한 종류의 배열을 더 가진 배열이다. 1차원이 단순히 나열 즉 가로만 있었다면, 2차원은 가로 세로, 3차원은 가로, 세로, 높이까지 가지고 있다. 예를 들어 4각형을 기준으로 2차원 배열은 평면인 사각형이라면 3차원 배열은 3D로 된 사각형이다. 3차원 배열 만드는 법 3차원 배열은 자료형 + 배열 이름 + [높이][세로크기][가로크기]; 형식으로 만든다. 중괄호가 많이 쓰이기 때문에 주의해야 한다. 자료형 배열이름[높이][세로크기][가로크기] = { { { 값, 값, 값 }, { 값, 값, 값 } }, { { 값, 값, 값 }, { 값, 값, 값 } } } #include int main(void){ int scores[2][3][5] = { //자료형 + ..