용어/Differences by language

[Python/JAVA/JS] 자바/자바스크립트의 배열과 파이썬의 리스트, 문자열 관계 이해하기

줌인. 2024. 6. 26. 11:32

[공통점]

공통점
1️⃣ 순차적 데이터 저장 모든 언어에서 배열과 리스트는 데이터를 순서대로 저장
2️⃣ 인덱스 접근 각 데이터는 0부터 시작하는 인덱스를 사용하여 접근할 수 있음
3️⃣ 다양한 기능 데이터 추가, 삭제, 삽입, 검색, 정렬 등 다양한 작업을 수행

 

[차이점]

  자바 배열 자바스크립트 배열 파이썬 리스트
데이터 타입 동일한 타입 허용 다양한 타입 허용 다양한 타입 허용
크기 변경 불가능(고정) 가능(동적 크기) 가능(동적 크기)
메모리 할당 컴파일 시점(정적) 런타임 시점 (동적) 런타임 시점 (동적)
선언방식 int [] arr = new int[5]; let arr = [1 , 2, 3]; arr = [1, 2, 3]
내장 함수 제한적(arrays 클래스) 다양함(push, pop, shift,
splice, sort etc..)
다양함 (append, pop, insert,
remove, sort etc..)

- 자바 배열은 성능이 중요한 경우에 적합하며, 자바스크립트 배열과 파이썬 리스트는 유연성과 편의성이 중요한 경우에

  적합

 


 

▶ 문자열 비교

https://zoooom-in.tistory.com/135

 

[Python/JAVA] 문자열 비교

1️⃣ 문자열의 길이 구하기- a = "hello"PythonJavalen(string) : len() 함수를 사용string.length() : String 클래스의 length() 메서드 사용#문자열의 길이 a = "hello"print(len(a))String a = "hello";System.out.println(a.length()); 

zoooom-in.tistory.com

자바, 자바스크립트, 파이썬 모두에서 문자열(String)불변 객체
따라서 문자열 자체를 직접 변경하는 것은 불가능하며,
변경된 문자열을 얻기 위해서는 새로운 문자열을 생성

 

 

[문자열 비교]

  자바(String) 자바스크립트(String) 파이썬(str)
시퀀스 자료형 여부 X(불변 객체) O(유사 배열 객체) O
문자열 인덱스 접근 불가능
⇒ charAt() 사용
가능 가능
문자 변경 불가능(새로운 문자열 생성) 가능 불가능 (새로운 문자열 생성)
주요 메서드 charAt(), length(), subString() charAt(), length(), split() [index], len(), [start:end], split()

파이썬/자바스크립트: 문자열은 시퀀스 자료형으로 간주되어 인덱스 접근 및 다양한 조작 가능

※ 자바: 문자열은 불변 객체로 취급되어 인덱스 접근 불가능 (대신 charAt() 메서드 등을 사용)

 

 

[자바 예시]

// 자바
String s = "hello";
char c = s.charAt(0);   // 'h'
String sub = s.substring(1, 4);  // "ell"

 

[자바스크립트 예시]

// 자바스크립트
let s = "hello";
let c = s[0];   // 'h'
let sub = s.slice(1, 4);  // "ell"
s[1] = 'E';    // "hEllo" (ES6 이후)

- 위 코드에서 str[1] = "E"문자열을 변경하지 않음, 단지 해당 인덱스에 값을 할당하려는 시도만 할 뿐

 

[파이썬 예시]

# 파이썬
s = "hello"
c = s[0]   # 'h'
sub = s[1:4]  # "ell"

 

 

 

[Q. 시퀀스 자료형이란?]

시퀀스 자료형
데이터가 특정 순서대로 나열되어 있고, 각 데이터에 인덱스(번호)를 통해 접근할 수 있는 자료형

 

- 순서: 데이터의 순서가 정해져 있음

- 인덱스 접근: 각 데이터에 0부터 시작하는 인덱스로 접근 가능

- 길이: 데이터 개수 확인 가능

- 슬라이싱: 일부 데이터 추출 가능

 

728x90