[Java] 자바 Queue에 x, y 값 두 개 삽입(Pair 클래스, Point 클래스)

2024. 8. 23. 18:02·Java

자바로 bfs 문제를 풀 때, x좌표 y좌표 두 개의 값을 한 번에 하나의 Queue에 삽입해야 하는 경우가 있었다.

Pair 클래스를 직접 생성해서 문제를 풀었는데, 같은 기능을 하는 자바의 Point 클래스 가 있다.

 

 

 

 

1. Pair 클래스를 직접 생성

C++에 있는 pair 클래스를 직접 생성해서 사용할 수 있다.

import java.util.*;

public class Test {
    public static class Pair {
        int x;
        int y;

        public Pair(int x, int y) {
            this.x = x;
            this.y = y;
        }
    }
    
    
    public static void main(String[] args) {
        Queue<Pair> q = new LinkedList<>();

        //queue에 삽입
        q.offer(new Pair(1, 3));

        //queue에서 꺼내기
        Pair pair = q.poll();
        int first = pair.x;
        int second = pair.y;
        System.out.println(first + " " + second);   //1 3
    }
}

 

 

 

2. Point 클래스 사용

java.awt.Point를 import 해서 Point 클래스를 사용할 수 있다.

import java.awt.Point;
import java.util.*;
import java.util.List;

public class Test {
    public static void main(String[] args) {
        Queue<Point> q = new LinkedList<Point>();

	//queue에 삽입
        q.offer(new Point(1, 3));

	//queue에서 꺼내기
        Point point = q.poll();
        int first = point.x;
        int second = point.y;

        System.out.println(first + " " + second);   //1 3
    }
}

 

 

Point 클래스는 좌표 공간에서 (x, y)의 위치를 나타낼 때 사용되고,  x, y의 자료형이 int인 경우만 가능하다.

만약 int가 아닌 다른 자료형으로 사용하고자 한다면, 원하는 자료형으로 Pair 클래스를 직접 생성해서 사용할 수 있다.

 

 


[참고]

https://jimoo-vision.tistory.com/28

 

JAVA 자바 Queue 값 두개 x,y - jimoo

Queue 구현할 때 2차원 배열의 x,y인덱스를 두 개 삽입하는 경우가 있음. 클래스를 생성해서 해도되지만 Point 클래스로 해도된다. java.awt.Point 란? (간략하게 설명하겠음!) https://docs.oracle.com/javase/7/doc

jimoo-vision.tistory.com

 

 

저작자표시 비영리 변경금지 (새창열림)

'Java' 카테고리의 다른 글

[Java] 2차원 배열 오름차순, 내림차순 정렬  (0) 2025.01.09
[Java] 오버로딩과 오버라이딩(Overloading & Overriding)  (0) 2024.09.10
[Java] 빠른 입출력 BufferedReader & BufferedWriter  (0) 2024.06.19
[Java] JDK 버전 여러 개 전환하며 사용하기  (0) 2024.05.13
[Java] Math 클래스  (0) 2024.04.17
'Java' 카테고리의 다른 글
  • [Java] 2차원 배열 오름차순, 내림차순 정렬
  • [Java] 오버로딩과 오버라이딩(Overloading & Overriding)
  • [Java] 빠른 입출력 BufferedReader & BufferedWriter
  • [Java] JDK 버전 여러 개 전환하며 사용하기
nyrimmm
nyrimmm
  • nyrimmm
    개발기록
    nyrimmm
  • 전체
    오늘
    어제
  • 글쓰기 관리
    • 분류 전체보기 (69) N
      • Java (6)
      • Spring & SpringBoot (3)
      • Network (1)
      • DataBase (0)
      • SQL (1)
      • IntelliJ (3)
      • Git (0)
      • 자료구조 & 알고리즘 (2)
      • 트러블 슈팅 (1)
        • Spring (1)
      • PS (51) N
        • 백준 (11) N
        • 프로그래머스 (0)
        • SQL (9)
        • 이코테 (31)
      • 후기 & 회고 (1)
  • 태그

  • 인기 글

  • 최근 글

  • 최근 댓글

  • hELLO· Designed By정상우.v4.10.3
nyrimmm
[Java] 자바 Queue에 x, y 값 두 개 삽입(Pair 클래스, Point 클래스)
상단으로

티스토리툴바