목록array (5)
꿈 많은 사람의 이야기
펄 배열 2번째 이야기를 시작합니다. 몇몇 특징과, push, pop에 대해서 볼까해요! 먼저 아래와 같은 특징이 있습니다. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 @who = (qw(fred array soojin lee))[2,3]; #이런식으로 잘라서 넣을 수도 있다. print($who[0].", ".$who[1]."\n "); @fred = (7,8,9); @barney = (2,1,0); @backfred = @fred[@barney]; #barney가 2,1,0 이니까 $fred[2] 와 같은 값이 들어간다. -> 슬라이스로 들어가게됨 #@fred[2,1,0] 또는 ($fred[2], $fred[1], $fred[0]), 또는 (9,8,7) 과 동일하다. for($i = ..
펄에는 배열이란것이 있습니다.(거의 모든 언어가 다 있지만..) 배열이란 것은 연속된 메모리 공간에 변수를 담아두는 겁니다. 예를 들어 $a $b 를 선언하면 연속된 메모리 공간이 아닌 멀리 떨어진 메모리 공간에 저장될 수 있습니다. 하지만 배열로 선언하면 연속적으로 붙어 있게 되죠. 펄에서 배열을 사용하는 방법은 @arr = () 처럼 사용하게 됩니다. @는 배열이라는 일종의 표시에요 1 2 3 4 5 6 7 8 9 10 @words = ("camel", "llama", "ap"); #배열은 위와 같이 @로 시작하고 값을 넣게 된다. #push, pop으로 값을 넣을 수도 있다. #만약 인용부호를 안두고 작성하는 방법은 @word2 = qw(camel llama ap); #로 하면 된다고 한다. #그리..
자바스크립트의 배열은 객체이다. 무늬만 배열이다. 자바스크립트 배열은 2가지가 있다. 1. 일반적 배열 리터럴인 var a = ["aa", 123]; 2. var points = new Array(40, 100) 2가지의 방법이 있고 내부적으로 동일하다. 근데 2번 방법에는 조심해야할 문법이 있다. 위에 써져 있는 2번과 같은 형태는 40, 100이라는 값이 배열에 들어가있다. 하지만 만약 var points = new Array(40); 을 하면 배열 크기가 40인 객체를 생성하는 것이다. 이것을 조금 조심해야 한다! 그리고 자바스크립트에서 배열은 좀 특이한게 자바에서 배열은 String이면 String, int면 int만 가능했다. 하지만 자바스크립트에선 배열 요소가 달라도 상관없다. 문자열, 숫자,..
List 컬렉션은 저장 순서를 유지하지만, Set 컬렉션은 저장 순서가 유지되지 않는다. 또한 객체를 중복해서 저장할 수 없고, 하나의 null만 저장할 수 있다. Set 컬렉션은 수학의 집합에 비유될 수 있다. 집합은 순서와 상관없고 중복이 허용되지 않기 때문이다. 그리고 들어갈 때의 순서와 나올때의 순서가 다르다! 다음은 Set 컬렉션에서 공통적으로 사용 가능한 Set 인터페이스의 메소드들이다. 인덱스로 관리하지 않기 때문에 인덱스를 매개 값으로 갖는 메소드가 없다. 기능 메소드 설명 객체 추가 boolean add(E e) 주어진 객체를 저장, 객체가 성공적으로 저장되면 true를 리턴하고 중복 객체면 false를 리턴 객체 검색 boolean contain(Object o) 주어진 객체가 저장되어..
배열은 쉽게 생성하고 사용할 수 있지만, 저장할 수 있는 객체 수가 생성할 때 결정되기 때문에 지속적으로 변화하는 객체를 저장하기엔 부족한 면이 있다. 배열의 크기를 크게 생성하면 되지만 이것은 좋지 못한 방법이다. 특히 객체를 삭제 했을 때 해당 인덱스가 비게 되는 문제가 있다. 아래의 그림을 보자 이렇게 듬성듬성 빠져 공간 낭비가 될 수도 있고 저장 하는 구조도 썩 좋지 않다. 자바는 이러한 문제점을 해결하기 위해 자료구조(Data Structure)를 바탕으로 객체들을 효율적으로 추가, 삭제, 검색할 수 있도록 java.util 패키지에 컬렉션과 관려뇐 인터페이스와 클래스들을 포함시켰다. 이것을들 컬렉션 프레임워크(Collection Framework)라고 부른다. 컬렉션은 요소를 수집해서 저장하는..