문자열 데이터 형식이 목록을 사용하여 문자를 저장하는 경우 궁금한가요? 그렇다면 목록 구현 유형은 무엇입니까?문자열이 char을 저장하기 위해 목록을 사용합니까?
String은 변경 불가능한 것 외에도 목록과 같은 요소와 인덱스 위치를 가지고있어서 String이 실제로 목록 데이터 구조인지 궁금합니다.
문자열 데이터 형식이 목록을 사용하여 문자를 저장하는 경우 궁금한가요? 그렇다면 목록 구현 유형은 무엇입니까?문자열이 char을 저장하기 위해 목록을 사용합니까?
String은 변경 불가능한 것 외에도 목록과 같은 요소와 인덱스 위치를 가지고있어서 String이 실제로 목록 데이터 구조인지 궁금합니다.
대부분의 최신 프로그래밍 언어에서 문자열은 배열을 둘러싼 래퍼입니다. 예를 들어, .NET에서 지원 스토어는 16 비트 정수의 배열이며, 각각은 단일 UTF-16 코드 포인트를 보유합니다. 지원 스토어가 무엇이든 관계없이 멤버 함수는 인덱싱 등을 제공합니다.
C에서는 문자열 유형조차 없습니다. 우리가 문자열로 부르는 것은 실제로 문자들의 배열입니다. 이러한 배열의 형식에 대한 특정 규칙 (예 : null 바이트, \0
, 문자열 종료) 및 해당 배열에서 문자열 인 것처럼 작동하는 "문자열 함수"가 있습니다.
긴 문자열을보다 효율적으로 조작하려면 ropes을 사용하는 문자열 처리 라이브러리가 있습니다.
모든 언어가 문자열을 변경할 수 없다고 지정하는 것은 아닙니다. 일부 언어에서는 문자열 내의 개별 문자를 수정하고 실제로 새 문자열 객체를 만들지 않고 다른 작업을 수행 할 수 있습니다.
배열은 String 구현에 논리적으로 적합하다고 생각합니다. 즉, 문자열 즉 Java를 선언하면 배후에서 String length의 배열을 요소마다 각 문자로 채 웁니까? 내가 아는 몇 언어에서 문자열은 변경되지 않습니다. – chappie
@chappie http://grepcode.com/file/repository.grepcode.com/java/root/jdk/openjdk/8u40-b25/java/lang/String.java#String에 따르면, Java'String' 클래스는 값을 보관 유지하는'char'의 배열 –
많은 언어로 실제로 문자의 * 배열 *이라고 생각합니다. – Paedolos