Saturday, November 11, 2006
Java/자바] join 메소드: 배열을 하나의 문자열로 합치기, 구분문자 넣어
스크립트 언어인 Perl(펄)에는 "join 함수"가 있어서, 배열을 문자열로 만들 수 있고 또한 배열의 요소들 사이사이에 특정 구분문자를 끼워 넣을 수도 있습니다.
그렇지만 현재 자바 1.5에는 그런 기능을 하는 메소드가 없더군요.
자바에서 펄의 join 함수와 비슷하게 작동하는 메소드(함수)를 하나 만들어 보았습니다. 유연성은 좀 부족합니다.
public static String arrayJoin(String glue, String array[])
* glue는 배열 요소들 사이를 구분할 문자이고
* String array[] 는 요소들을 합쳐서 하나의 문자열로 만들 배열입니다.
자바에는 Thread 클래스에 join() 이라는 이름의 메소드가 이미 있기에, arrayJoin() 이라고 좀더 명시적으로 이름을 붙였습니다.
소스 파일명: Foo.java
그렇지만 현재 자바 1.5에는 그런 기능을 하는 메소드가 없더군요.
자바에서 펄의 join 함수와 비슷하게 작동하는 메소드(함수)를 하나 만들어 보았습니다. 유연성은 좀 부족합니다.
public static String arrayJoin(String glue, String array[])
* glue는 배열 요소들 사이를 구분할 문자이고
* String array[] 는 요소들을 합쳐서 하나의 문자열로 만들 배열입니다.
자바에는 Thread 클래스에 join() 이라는 이름의 메소드가 이미 있기에, arrayJoin() 이라고 좀더 명시적으로 이름을 붙였습니다.
Java로 Perl의 join 함수 구현 예제
소스 파일명: Foo.java
class Foo {
public static void main(String args[]) {
String foo[] = { "자장면", "탕수육", "우동", "군만두" };
System.out.println(arrayJoin("/", foo));
// 출력 결과: 자장면/탕수육/우동/군만두
System.out.println(arrayJoin(" ", foo));
// 출력 결과: 자장면 탕수육 우동 군만두
System.out.println(arrayJoin("", foo));
// 출력 결과: 자장면탕수육우동군만두
System.out.println(arrayJoin(":", foo));
// 출력 결과: 자장면:탕수육:우동:군만두
}
public static String arrayJoin(String glue, String array[]) {
String result = "";
for (int i = 0; i < array.length; i++) {
result += array[i];
if (i < array.length - 1) result += glue;
}
return result;
}
}
public static void main(String args[]) {
String foo[] = { "자장면", "탕수육", "우동", "군만두" };
System.out.println(arrayJoin("/", foo));
// 출력 결과: 자장면/탕수육/우동/군만두
System.out.println(arrayJoin(" ", foo));
// 출력 결과: 자장면 탕수육 우동 군만두
System.out.println(arrayJoin("", foo));
// 출력 결과: 자장면탕수육우동군만두
System.out.println(arrayJoin(":", foo));
// 출력 결과: 자장면:탕수육:우동:군만두
}
public static String arrayJoin(String glue, String array[]) {
String result = "";
for (int i = 0; i < array.length; i++) {
result += array[i];
if (i < array.length - 1) result += glue;
}
return result;
}
}
tag: java
자바 | Java
<< Home