안녕하세요 프로그래밍 초보 입문자인데요
java 관련된 기초부분에 관하여 질문드립니다.
선형리스트 표현을 연습중인데요
string.length에 궁금한점이 있어 질문드립니다.
class test
{
String input[];
int index;
int length;
test(int index)//생성자1
{
this.index = index;
input = new String[3];
}
void set(int index, String input)
{
if(index>=this.input.length) <--------------- 이부분이 헷갈리네요
{
String [] temp = new String[index+1]; // 선형리스트에서 원소삽입
System.out.printf(index+"\n#"+this.input.length+"#\n");
for(int i=0;i<this.input.length;i++)
{
temp[i]=this.input[i];// temp 임시 저장소에 저장
}
this.input = temp;
this.input[index]=input;
}
else
{
this.input[index]=input;
}
}
void output()
{
int k=0;
for(String m : input) // // input이라는 배열에 다 채울때까지 m이라는 변수에 대입
{
System.out.printf("테이블 num= "+index+" ,["+k+"]" + "input= " + m + ", length? "+
this.input.length+"\n");
k++;
}
}
}
public class main {
public static void main(String[] args) {
// TODO Auto-generated method stub
test T = new test(1);//생서앚에 1 부여
T.set(0, "감");
T.set(1, "감자");
T.set(2,"고구마");
T.set(3,"사과");
T.set(4, "파인애플");
T.set(1, "");
T.output();
}
}
이러한 코드를 치면 결과로
테이블 num= 1 ,[0]input= 감, length? 5
테이블 num= 1 ,[1]input= , length? 5
테이블 num= 1 ,[2]input= 고구마, length? 5
테이블 num= 1 ,[3]input= 사과, length? 5
테이블 num= 1 ,[4]input= 파인애플, length? 5
가 나옵니다. 여기서 궁금한점은 위의 빨간 글씨에 들어가있는 값이
문자열의 길이 일줄 알았는데 배열공간의 갯수가 나오더군요
String 의 length 인데 문자열의 길이가 표시되는것이 아니고
String [ ] 의 생성된 갯수가 표시되는건가요
답변 부탁드려요 ㅎ