Comparable Comparator
Comparable? java.lang ??? ??? ??? ????? ?? ??????. Comparable? ???? ???? ??? ??? ? ????. ?? ??? ?? ?? ???? CompareTo? ??? ?? ?????.
compare ?? ?? -1, 0, 1???. ???? ?? ???? ?? 1? ????, ??? 0?, ?? ???? ??? -1? ?????.
Collections.sort
? Arrays.sort
? Comparable? ???? ??? ???? ??? ? ????. Collections.sort
和 Arrays.sort
可以自動對實現(xiàn) Comparable 的對象進行排序。
免費在線學(xué)習(xí)視頻推薦:java學(xué)習(xí)
示例如下,我們構(gòu)建一個 node 對象,并通過 node 對象之間的比較驗證 Comparable 的用法。
node 對象的實現(xiàn)如下:
public class Node implements Comparable<Object>{ private int num; private String name; @Override public String toString() { return "num=" + num + " name=" + name; } public Node(int num, String name) { super(); this.num = num; this.name = name; } public Node() { super(); } public int getNum() { return num; } public void setNum(int num) { this.num = num; } public String getName() { return name; } public void setName(String name) { this.name = name; } @Override public int compareTo(Object o) { Node node = (Node)o; return this.num - node.getNum(); } }
可以看到,我們?yōu)?Node 實現(xiàn)了 Comparable 接口,并且重寫了 compareTo 方法。
先測試一下,我們創(chuàng)建10個 Node 對象并添加進 List 中,然后把順序打亂。
public class MyTest { public static void main(String[] args) { List<Node> list = new ArrayList<Node>(); for(int i = 0;i < 10;i++) { list.add(new Node(i,"node")); } //打亂順序 Collections.shuffle(list); for (Node node : list) { System.out.println(node); } } }
顯示結(jié)果如下:
num=7 name=node num=0 name=node num=5 name=node num=9 name=node num=6 name=node num=3 name=node num=4 name=node num=8 name=node num=1 name=node num=2 name=node
現(xiàn)在輸出是亂序的,接下來我們使用 Collections.sort 對其進行排序。
public class MyTest { public static void main(String[] args) { List<Node> list = new ArrayList<Node>(); for(int i = 0;i < 10;i++) { list.add(new Node(i,"node")); } //打亂順序 Collections.shuffle(list); Collections.sort(list); for (Node node : list) { System.out.println(node); } } }
Collections.sort 其實是按 compareTo 方法中的定義進行比較,我們之前定義了按照 num 的升序進行排序,現(xiàn)在排序結(jié)果如下:
num=0 name=node num=1 name=node num=2 name=node num=3 name=node num=4 name=node num=5 name=node num=6 name=node num=7 name=node num=8 name=node num=9 name=node
Comparator比較器
Comparator
位于 java.util
# ????#
??? ??? ????. ?? ??? ???? ?? ?? ?? ??? ?? Comparable? ???? ?????. ?? ??? ??? ??? ????:Collections.sort(List<T> list, Comparator<? super T> c); Arrays.sort(T[] a, Comparator<? super T> c);????? ??? Node? ?? Comparable ?????? ???? CompareTo ???? ???????.
?? ????? ?? 10?? Node ??? ???? ?? ??? ??? ?? ??? ????.
public class Node{ private int num; private String name; @Override public String toString() { return "num=" + num + " name=" + name; } public Node(int num, String name) { super(); this.num = num; this.name = name; } public Node() { super(); } public int getNum() { return num; } public void setNum(int num) { this.num = num; } public String getName() { return name; } public void setName(String name) { this.name = name; } }
??? ??? ?? ?????.
public class MyTest { public static void main(String[] args) { List<Node> list = new ArrayList<Node>(); for(int i = 0;i < 10;i++) { list.add(new Node(i,"node")); } //打亂順序 Collections.shuffle(list); Collections.sort(list, new Comparator<Node>() { @Override public int compare(Node o1, Node o2) { return o2.getNum()-o1.getNum(); } }); for (Node node : list) { System.out.println(node); } } }?? ??? ???????. ???? Collections.sort? ???? ?????.
num=9 name=node num=8 name=node num=7 name=node num=6 name=node num=5 name=node num=4 name=node num=3 name=node num=2 name=node num=1 name=node num=0 name=nodeCollections.sort? ??? CompareTo ???? ??? ?? ?????. ??? num? ?????? ??? ??????. ?? ?? ??? ??? ????.
rrreee#???? ##?? ??#Comparator
?? ??? ????? ?? ???? ???? ???? ???. ?? ?? ??? ???? ???? Comparator ????? ??? ? ??? ??? ? ????. #????#rrreee#????#?? Node ??? ???? ? ?? Comparable? ???? ????. #????#rrreee#????#??? ???? ???? ???? ??? ????? ???. #????#rrreee#????#??? ??? ????. #????##????#rrreee#????#Comparator? ?? ??? ?????. #????##????##????#Summary#????##????##????#Comparable? ?? ?????, Comparator? ?? ??????. ???? Comparable ?????? ???? ??? ???? ?? ?????. ????? Comparator ??? ??? ? ? ????. ?? ???? ?? Comparable ????? ??? ??? Comparator? ???? ? ???. ???? ?? ????? ???? ? ? Comparable? ?? ???? ???? ?? ?????. #????##????#? ??? #????#java?? ??#????# ???? ??? ????. ??? ?? ???? ?? ? ????. #????#? ??? Java?? Comparator? Comparator? ???? ?? ?????. ??? ??? PHP ??? ????? ?? ?? ??? ?????!

? AI ??

Undress AI Tool
??? ???? ??

Undresser.AI Undress
???? ?? ??? ??? ?? AI ?? ?

AI Clothes Remover
???? ?? ???? ??? AI ?????.

Clothoff.io
AI ? ???

Video Face Swap
??? ??? AI ?? ?? ??? ???? ?? ???? ??? ?? ????!

?? ??

??? ??

???++7.3.1
???? ?? ?? ?? ???

SublimeText3 ??? ??
??? ??, ???? ?? ????.

???? 13.0.1 ???
??? PHP ?? ?? ??

???? CS6
??? ? ?? ??

SublimeText3 Mac ??
? ??? ?? ?? ?????(SublimeText3)

??? ??











PHP? ??, ???, ???, ??, ??, ??, NULL ? ??? ? 8 ?? ?? ??? ??? ????. ?? ??? ??? getType () ?? is_type () ??? ??? ??????. PHP? ??? ???? ????? ===? ???? ?? ??? ???? ???? ?? ????. ?? ??? (int), (???) ?? ?? ??? ??? ? ??? ??? ?? ? ? ?????????.

?? PHP ???? ??? ?????. 1. ?? ?? ??; 2. Echo? ?? ?? ??? ???? ???? ???? ?? Echo ?? Print? ??????. 3. ??? ??? ?? ? ??? ????. $? ??????. ???? ???? ???, ??, ?? ??? ??, ??, ?? ? ??? ?????. ??? ?? ???? ????? PHP ??? ???? ???? ? ??? ? ? ????.

PHP ??? ?? ? ??? ???? ?? ? ???? ?? ?????. ?? ???? ???? ??????? ???? ?? ???? ???? ??? ??? ?? ? ? ????. .php? ??? ??? ???? ?? ? ? ????? ??? ?????. PHP ??? ????? XAMPP? ?? ?? ?? ??? ???? ??? ?? ????? ?? ????? ?? ????????. PHP? ????? HTML? ?????. ???? ?? HTML, CSS, JavaScript ? ?? ????? ??? ????? ?? ????. ?? ????? ? ?? ???????.

PHP ??? ???? ???? ???? ???? ?? ??, ???? ?? ??, ???? ?? ?? ? ????? ??? ??? ?????. 1. ???? ?? ??? ?? ??? ????? ?? ?????. isset () ?? empty ()? ???? ???????. 2. ?? ?? ??? ?? ??? ??? ??? ?? ?? unset ()? ???????. 3. ?? == ??? ?? ???? ???? ?? ??? ===? ???????. 4. ??? ??? ??? ???? ?? ?,?? ??? ???? ???? ????? ?? ???? ????? ?? ????.

PHP ??? $? ???? ?? ??? ??? ??? ??? ??? ??? ??? ??????. ??? ??? ??, ??? ? ? ???? ????. ??? ??? Global? ???? ??? ? ? ??? ?? ??? ???? ?? ????. ?? ?? ? ?? ??????? ???????. ??? ???? ?????? ???? ??? ????? ???? ????? ?? ??? ?????.

BTC, USDT ? USDC? ??? ????? ?? ??? ?? 3 ?? ?? ?????. BTC? ??? ?? "?"??, ??? ?? ?????. Stablecoins? ??? ???? ???? ???? ?? ??? ???? "??"???. ?? ?? ??? ???? ????? BTC? ?? ?????. StableCoins? ??? ???? ???? ??, ??? ????? ???? ??? ?? ??? ????? ?? ????, ????? ?? USDC? ??? ? ???? ? ?????.

2025 ? USDC? ??? ??? ? ?? ??? ??? ????. 1. ?? ?? ??. Circle? ??? ????? ????? ??? ?? ?? ????? ???? ???? ??? ??? ??? ???? ? ?? ?????. 2. ?????? ????? ?? ???? ?? ? ??, ?? ?? ? ?? ??? ?????? ???? ??? ?? ???? ???????. 3. Defi ???? ?? ????? ??, ?? ? ??? ??? ?? ?????. 4. ?? ? ??? ??? ?? ???? ?? ??? ???? ??? ?? ???? ??? ?????? ?????.

GO ???? ???? ?????? 4 ?? ?? ???? ????. 1. Net ? GoPacket? ?? ??? ?????? ??????. 2. ICMP, TCP, SYN ? UDP? ?? ?? ????? ?????. 3. ??? ????? ???? ???? ?? ???? ??? ??????. 4. ??? ??? ?? ?? ?? ??? ??????. ???? ??? ?? ???? ICMP ?? ??? ??, TCP/SYN/UDP ?? ?? ?? ?????. GO? NET ?????? ?? ??? ??? ? ??? GoPacket? ?? ?? ??? ?????. ?? ??? ?? ?????? ???? ???? ? ????. ??, ?? ??, ?? ?? ? ??? ?? ???? ?? ??? ?? ?????.
