티스토리 뷰

궁금한 것

필터와 리스너의 차이

eyoadgkn 2024. 1. 25. 17:44

필터와 리스너는 모두 데이터 처리에 사용되는 개념을 말하는데, 각 목적과 작동 방식에 차이가 존재를 합니다.

필터
데이터 스트림에서 특정 조건에 부합하는 데이터만을 선별해 출력하는 것이 목적이고, 데이터가 입력되면 필터가 정의된 조건을 검사하고, 조건에 부합하는 데이터만을 출력을 합니다.
import java.util.stream.Stream;

public class FilterExample {
    public static void main(String[] args) {
        // 숫자 리스트
        Stream<Integer> numbers = Stream.of(1, 2, 3, 4, 5, 6, 7, 8, 9, 10);

        // 필터링: 짝수만 선별
        Stream<Integer> evenNumbers = numbers.filter(n -> n % 2 == 0);

        // 필터링된 결과 출력
        evenNumbers.forEach(System.out::println);
    }
}
리스너
데이터 스트림의 변화를 감지하며 거기에 대응을 하는 것을 목적을 둡니다. 감지에 따라 그에 따른 이벤트를 발생시키는데 그럴 때마다 정의된 콜백 함수를 실행하도록 합니다.
import javax.swing.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

public class ListenerExample extends JFrame {
    public ListenerExample() {
        setTitle("Listener Example");
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        setSize(300, 200);

        // 버튼 생성
        JButton button = new JButton("Click me!");

        // 버튼 클릭 리스너 등록
        button.addActionListener(new ActionListener() {
            @Override
            public void actionPerformed(ActionEvent e) {
                // 버튼 클릭 시 실행되는 코드
                JOptionPane.showMessageDialog(ListenerExample.this, "Button clicked!");
            }
        });

        // 버튼을 프레임에 추가
        getContentPane().add(button, "Center");
    }

    public static void main(String[] args) {
        SwingUtilities.invokeLater(new Runnable() {
            @Override
            public void run() {
                new ListenerExample().setVisible(true);
            }
        });
    }
}

'궁금한 것' 카테고리의 다른 글

Resolver란  (0) 2024.01.25
Form태그 / a태그  (0) 2024.01.25
xml 파일이란  (0) 2024.01.25
자주 뜨는 Error code number에 대한 것들  (0) 2024.01.01
DAO와 DTO에 대한 정의 및 차이점  (0) 2024.01.01
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
TAG
more
«   2024/07   »
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30 31
글 보관함