자바와 자바스크립트의 forEach 메서드 비교
많이 비슷하고 비슷한 처리를 하는 자바와 자바스크립트 forEach 비교
1. 자바의 forEach
자바에서는 List 인터페이스의 forEach 메서드를 사용하여 리스트의 각 요소에 대해 작업을 수행할 수 있습니다. 자바 8부터 도입된 람다 표현식을 통해 더욱 간결하게 작성할 수 있습니다.
예시코드
import java.util.ArrayList;
import java.util.List;
public class Main {
public static void main(String[] args) {
List<String> homeworks = new ArrayList<>();
homeworks.add("david.zip");
homeworks.add(null);
homeworks.add("maria.zip");
homeworks.add("tom.zip");
List<String> newHomeworks = new ArrayList<>();
// forEach를 사용하여 null이 아닌 요소 추가
homeworks.forEach(homework -> {
if (homework != null) {
newHomeworks.add(homework);
}
});
System.out.println(newHomeworks); // [david.zip, maria.zip, tom.zip]
}
}
위의 코드에서 forEach 메서드는 리스트의 각 요소에 대해 람다 표현식에서 정의한 작업을 수행합니다. homework라는 변수에 각 요소가 할당되며, 이를 통해 조건문을 사용해 null이 아닌 값을 새로운 리스트에 추가합니다.
2. 자바스크립트의 forEach
자바스크립트에서도 배열의 요소를 순회할 때 forEach 메서드를 사용할 수 있습니다. 자바스크립트에서는 일반 함수나 화살표 함수를 사용하여 작업을 정의할 수 있습니다.
예시코드
const homeworks = ['david.zip', null, 'maria.zip', 'tom.zip'];
const new_homeworks = [];
// forEach를 사용하여 null이 아닌 요소 추가
homeworks.forEach(homework => {
if (homework !== null) {
new_homeworks.push(homework);
}
});
console.log(new_homeworks); // ['david.zip', 'maria.zip', 'tom.zip']
자바스크립트의 forEach 메서드는 배열의 각 요소를 순회하며, 각 요소에 대해 정의한 작업을 수행합니다. 여기서도 homework라는 변수가 각 요소에 할당되어 조건문을 통해 null이 아닌 값만 새로운 배열에 추가됩니다.
3. 자바와 자바스크립트의 차이점
- 문법: 자바는 람다 표현식을 사용하여 간결하게 작성할 수 있지만, 자바스크립트는 익명 함수 또는 화살표 함수를 사용할 수 있습니다.
- 타입: 자바는 정적 타입 언어이기 때문에 변수의 타입을 명시해야 합니다. 반면, 자바스크립트는 동적 타입 언어로, 변수의 타입을 자동으로 결정합니다.
- 데이터 구조: 자바는 List와 같은 컬렉션 클래스를 사용하여 데이터를 관리하는 반면, 자바스크립트는 배열을 기본 데이터 구조로 사용합니다.
결론
자바와 자바스크립트 모두 forEach 메서드를 통해 배열이나 리스트의 요소를 쉽게 순회할 수 있습니다. 두 언어의 문법은 다르지만, 각 언어의 특성에 맞춰 효율적으로 사용할 수 있습니다.
댓글