【Java】Java中Pair的使用

做104. 二叉树的最大深度
这道题的时候用到了Pair,是DFS用栈来实现的时候。

Pair类

Pair类在javafx.util 包中
【Java】Java中Pair的使用_第1张图片

import javafx.util.Pair;

用法

【Java】Java中Pair的使用_第2张图片
用键值对的形式

Pair<Integer, String> pair = new Pair<>(1, "One");
Integer key = pair.getKey();
String value = pair.getValue();

例:

Queue<Pair<TreeNode, Integer>> stack = new LinkedList<>();
Pair<TreeNode, Integer> current = stack.poll();
TreeNode root = current.getKey();
int current_path = current.getValue();
stack.add(new Pair(root.left, current_path+1));

Pair和Map

Pair是一对值,Map是集合
List>Map<>类似

ArrayList>按照key排序

       ArrayList<Pair<Integer, Integer>> q = new ArrayList<>();
       for(int i = 0; i < n; i++){
            q.add(new Pair(bloomDay[i], i+1));
        }
        //对list中数据按照第一个排序
        Collections.sort(q, new Comparator<Pair<Integer, Integer>>() {
            @Override
            public int compare(Pair<Integer, Integer> o1, Pair<Integer, Integer> o2) {
                if (o1.getKey() > o2.getKey()) return 1;
                else if (o1.getKey() < o2.getKey()) return -1;
                return 0;
            }
        });

你可能感兴趣的:(Java)