顛仆流離學二叉樹2 (Java篇)

本篇會加入個人的所謂魚式瘋言

??????魚式瘋言:??????此瘋言非彼瘋言

而是理解過并總結出來通俗易懂的大白話,

小編會盡可能的在每個概念后插入魚式瘋言,幫助大家理解的.

🤭🤭🤭可能說的不是那么嚴謹.但小編初心是能讓更多人能接受我們這個概念 !!!

在這里插入圖片描述

前言

在上篇中我們學習了 二叉樹的基本概念 以及他們的特性結論,并運用到了 具體的題目 中去解決問題 。

而在本篇中,小編講繼續學習 二叉樹 的基本操作, 主要圍繞著我們 遍歷二叉樹 來講解 , 人狠話不多,下面讓我們切入主題吧 💥 💥 💥

目錄

  1. 二叉樹的遍歷初識

  2. 前序遍歷

  3. 中序遍歷

4.后序遍歷

  1. 層序遍歷

  2. 二叉樹遍歷的應用

一. 二叉樹的遍歷初識

學習二叉樹的結構,最簡單的方式就是遍歷,所謂遍歷 是指 沿著某條搜索路線,依次樹中的某個節點均做一次訪問, 訪問節點所做的操作 依賴于要解決的各種實際問題。

遍歷是二叉樹是最重要的操作之一,是 二叉樹上進行其他運算 的基礎

1. 二叉樹的遍歷簡介

在這里插入圖片描述

在遍歷二叉樹時, 如果沒有進行某種約定,每個人都按照自己的方式來遍歷, 得到的結果就比較亂, 如果我們按照某個規則 來遍歷, 則每個人對于遍歷結果都是相同的 , 如果 N 代表 根節點,L 代表左節點, R 代表 右節點, 那根據遍歷的的節點有以下的遍歷方式。

  • NLR: 前序遍歷 (先序遍歷) 根據 根——》 左 ——》 右 的順序對二叉樹進行遍歷

  • LNR : ==中序遍歷 ==: 根據 左——》 根——》 右 的順序 對二叉樹進行遍歷

  • LRN 后序遍歷 : 根據 左——》 右 ——》 根 的順序對二叉樹進行遍歷

詳細的遍歷方式, 小編下面細講哦 💖 💖 💖 💖

在遍歷二叉樹之前, 我們先用一下代碼簡單的 構建一顆二叉樹

public class MyBinaryTree {public static class TreeNode {public TreeNode left;public TreeNode right;public  char val;public TreeNode(char val) {this.val = val;}}private TreeNode  root;// 構造二叉樹public TreeNode createBinaryTree() {root=new TreeNode('A');TreeNode B=new TreeNode('B');TreeNode D=new TreeNode('D');TreeNode E=new TreeNode('E');TreeNode H=new TreeNode('H');TreeNode C=new TreeNode('C');TreeNode F=new TreeNode('F');TreeNode G=new TreeNode('G');root.left=B;B.left=D;B.right=E;E.right=H;root.right=C;C.left=F;C.right=G;return root;}// 前序遍歷
void preOrder(Node root);
// 中序遍歷
void inOrder(Node root);
// 后序遍歷
void postOrder(Node root);}

二. 前序遍歷

1. 前序遍歷的特點

在這里插入圖片描述

按照從左子樹開始走,一直 往下遞歸,每一步所走的路徑成為我們的根,先遍歷完根之后。

按照根左右的順序, 當我們走完每個根節點的左子樹 時, 先往下, 再往回歸 , 左節點成為新的根, 會到最初的根節點之后,再向右子樹進行 先遞后歸 的操作,

動畫演示

請添加圖片描述

2. 前序遍歷的實現

因為前序遍歷有 遞歸 和 非遞歸 的兩種方式, 但 遍歷的原理和方向都是一致的

在本篇文章中,。小編都會帶著小伙伴們 一 一 實現 💥 💥 💥 💥

在這里插入圖片描述

<1>. 前序遍歷的遞歸實現

   // 前序遍歷public void FirstDisplay(TreeNode root) {if (root==null) {return;}System.out.print(root.val+" ");FirstDisplay(root.left);FirstDisplay(root.right);}

在這里插入圖片描述

這里的代碼的遞歸思路就是完美的按照我們遍歷方向來的, 先訪問,后遞歸

<2>. 前序遍歷的非遞歸實現

// 非遞歸的前序遍歷public  void  FirstDisplayNo(TreeNode root) {// 先創建一個棧來存放樹的每個節點Stack<TreeNode> stack=new Stack<>();// 先把艮節點創建一遍TreeNode cur=root;/*** 外循環主要遍歷 右邊的節點* 用于出棧的數據* 并讓節點向右移動*/while (cur != null || !stack.empty()) {/*** 在這個內循環中* 當往左走就添加數據,一直到為 null 結束*  并進行打印*/while (cur != null) {// 先打印System.out.print(cur.val+" ");// 打印完就入棧stack.add(cur);// 節點向左移動cur=cur.left;}// 出棧存放數據cur=stack.pop();// 并向右走cur=cur.right;// 當再次循環時,如果左邊還有節點就會繼續存放}System.out.println();}

在這里插入圖片描述

非遞歸的 實現步驟

  1. 先定義一個棧 , 來記錄我們每次遍歷過的 根節點
  1. 先讓根節點一直 向左走 ,當遍歷完我們的 左子樹 (也就是我們的 root = null 時候), 并且入棧, 記錄下來以便后面我們遍歷 右子樹
  1. 然后出棧, 開始 向右走 , 遍歷我們的 右子樹
  1. 當整個棧為 null 并且到達的這個節點 cur 也為 null , 就意味著遍歷完整個 二叉樹所有的節點

魚式瘋言

無論是 遞歸還是非遞歸前序遍歷 , 我們的 前序遍歷思路就是

先走根根走完走左左走完回到根再走右一層一層的走一步一步的回

細節處理

在代碼上我們要注意的就是這個當節點為 null ,也就意味著我們要開始 回退上一個節點

二. 中序遍歷

在這里插入圖片描述

1. 中序遍歷的特點

我們知道 中序遍歷 , 是以 左- 根-右的順序 進行遍歷

我們先從 走左邊, 還是讓每個左節點先成為新的根, 當這個新的根的 左子樹 都走完之后, 才能真正訪問我們當前 新的節點

以此類推,我們新的節點訪問結束后,就會進行回退到前一個舊的節點,繼續訪問,最終當整個 左子樹走完 , 并且 訪問完我們的根 , 就遍歷我們的右子樹 ,最終回到我們整顆樹的 根節點

動畫演示

請添加圖片描述

2.中序遍歷的實現

在這里插入圖片描述

<1>.中序遍歷的遞歸實現

// 中序遍歷
public void middleDisplay(TreeNode root) {if (root==null) {return;}middleDisplay(root.left);System.out.print(root.val+" ");middleDisplay(root.right);
}

在這里插入圖片描述

這里的代碼的遞歸思路就是完美的按照我們遍歷方向來的, 先遞歸,后訪問 ,小編在這里就 不贅述

<2>. 中序遍歷的非遞歸實現

// 非遞歸的中序遍歷public  void  middleDisplayNo (TreeNode root) {// 創建一個棧用于回退節點Stack<TreeNode> stack=new Stack<>();// 先放根節點TreeNode cur=root;/*** 外循環主要用于遍歷 右邊* 更是用于出棧的回退*/while (cur != null || !stack.empty()) {/*** 內循環先遍歷下去* 邊遍歷邊存放*/while (cur != null) {stack.add(cur);cur=cur.left;}// 出棧最后一個無左節點的左子樹cur=stack.pop();// 打印該節點System.out.print(cur.val+" ");// 再往右走cur=cur.right;}System.out.println();}

在這里插入圖片描述

非遞歸的實現步驟

我們先定義一個 ,用來存儲走過的每個 左子樹的節點

  1. 往左邊 的節點走,先整個左子樹 的每個節點都入棧, 當 這個節點 為 null停止入棧

  2. 然后進行出棧, 出棧的時候,我們就可以對該節點進行打印(訪問) , 并且向 右子樹節點 開始走

  3. 當整個棧為 null 并且 該節點也為 null , 也就意味著遍歷完二叉樹 所有的節點

魚式瘋言

中序遍歷的最核心的要點就是

無論是 遞歸 還是 非遞歸中序遍歷

一定要先走完每個左子樹, 當我們進行 回退 的時候。 才輪的到該 根節點去遍歷, 最后才走 右子樹的一種 順序.

三. 后序遍歷

1. 后序遍歷的特點

在這里插入圖片描述

后序遍歷的順序就是 : 左-右-根 的順序,

還是先走左邊的節點,讓 左邊的節點 成為 新的根 , 直到找到走完整個 左子樹 ,回退后繼續走 右子樹,當 右子樹走完之后,回去的根節點就是我們要 訪問

動畫演示

請添加圖片描述

2. 后序遍歷的實現

在這里插入圖片描述

<1>. 后序遍歷的遞歸實現

   // 后序遍歷public void lastDisplay(TreeNode root) {if (root==null) {return;}lastDisplay(root.left);lastDisplay(root.right);System.out.print(root.val+" ");}

在這里插入圖片描述

這里的代碼的遞歸思路就是完美的按照我們遍歷方向來的, 先遞歸,后訪問 ,小編在這里就 不贅述

<2>. 后序遍歷的非遞歸實現

 // 非遞歸的后序遍歷public  void  lastDisplayNo (TreeNode root) {Stack<TreeNode> stack=new Stack<>();TreeNode cur=root;TreeNode flg=null;while (cur != null || !stack.empty()) {while (cur != null) {stack.add(cur);cur=cur.left;}TreeNode top=stack.peek();if (top.right == null || flg==top.right) {System.out.print(top.val+" ");flg=top;stack.pop();} else {cur=top.right;}}System.out.println();}

在這里插入圖片描述

非遞歸的實現思路

我們先定義一個棧,用來存放節點, 而這里存放的節點有可能是 左子樹的節點,也有可能是 右子樹的節點

  1. 先向左走,讓左子樹的節點先入棧
  1. 然后 查看棧頂元素,如果棧頂元素的右節點 null , 我們就 打印(訪問) 該節點,
  1. 如果棧頂元素的 右節點 不為 null , 我們就 讓 該節點 向右走 , 并且入棧
  1. 以此循環往復,當 棧為 null 并且 節點 cur 也為 null , 說明我們已經遍歷完這個 二叉樹所有的節點

魚式瘋言

無論是 非遞歸還是遞歸實現 對二叉樹的 后序遍歷

  • 小伙伴們只需要記住一點: 后序遍歷 一定是 兩邊先走完 ,最后回到我們的根節點才 訪問

  • 小伙伴們一定要把每個節點都看出一顆獨立的樹每個節點 都是一個 獨立的根節點 來理解我們的 三大遍歷

TreeNode flg =nullif (top.right == null || flg==top.right) {System.out.print(top.val+" ");flg=top;stack.pop();} 

細節處理: 我們需要用一個 flg 來記錄上一個已經 訪問過 的節點,判斷 是否訪問過, 防止再次讓 top 向右走,繼續入棧, 否則會進入 死循環

四. 層序遍歷

談及完前面的 三大遍歷, 這些是我們 操作二叉樹的根本 ,但還有還要介紹一種 比較特殊的遍歷

在這里插入圖片描述

1. 層序遍歷的特點

二叉樹 層序遍歷 的方向是從 根節點,按照 從上而下,從左到右 的順序進行遍歷 二叉樹的每一個節點

動畫演示

請添加圖片描述

2. 層序遍歷的實現

/*** Definition for a binary tree node.* public class TreeNode {*     int val;*     TreeNode left;*     TreeNode right;*     TreeNode() {}*     TreeNode(int val) { this.val = val; }*     TreeNode(int val, TreeNode left, TreeNode right) {*         this.val = val;*         this.left = left;*         this.right = right;*     }* }*/class Solution {List<List<Integer>> S=new ArrayList<List<Integer>>();public List<List<Integer>> levelOrder(TreeNode root) {if(root==null) {return S;}creatOrder(root,0);return S;}public void creatOrder(TreeNode root,int i) {if(root==null) {return ;}if(S.size()==i) {S.add(new ArrayList<Integer>());}S.get(i).add(root.val);creatOrder(root.left,i+1);creatOrder(root.right,i+1);}
}

在這里插入圖片描述

具體實現步驟:

  1. 我們用一個 二維數組(二維順序表) 來存儲每一個節點,二叉樹 每一層代表是二維數組的 每一行, 在這二叉樹每一層的行中,從左往右的節點 代表二維數組的 每一列

  2. 當二叉樹從 左子樹 開始遞歸, 意味著先存儲 每一行二叉樹的節點

  3. 當二叉樹向 右子樹 開始遞歸, 意味著存儲 每一列二叉樹的節點

  4. 最終當整個二叉樹完全遞歸就意味著 全部的節點都存儲在 這個二維數組 (二維順序表) 中

魚式瘋言

  if(S.size()==i) {S.add(new ArrayList<Integer>());}

細節處理

每新添加 一行數據 ,需要 擴容 ,就是需要再 實例化一個順序表 ,已有的行數就 不需要了

小伙伴們有沒有發現,二叉樹的層序遍歷,本質上和我們的 完全二叉樹的定義 是一樣的,都是滿足 自上而下,自左而右 的特點

六. 二叉樹遍歷的應用

學習完了 二叉樹遍歷,小伙伴們是時候 牛刀小試 一下了 💞 💞 💞

1. 習題一:

1.某完全二叉樹按層次輸出(同一層從左到右)的序列為 ABCDEFGH 。該完全二叉樹的前序序列為()

A: ABDHECFG

B: ABCDEFGH

C: HDBEAFCG

D: HDEBFGCA

題目解析

我們知道了二叉樹的 層序遍歷 , 并且小伙伴們還有沒有注意一個條件就是 完全二叉樹

完全二叉樹的特點就是 自上而下自左而右 節點不間斷

那么我們不妨畫個草圖

在這里插入圖片描述

畫出草圖,我們就很明顯的知道了,答案選: A

2. 習題二:

2.二叉樹的先序遍歷和中序遍歷如下:先序遍歷:EFHIGJK;中序遍歷:HFIEJKG.則二叉樹根結點為()

A: E

B: F

C: G

D: H

題目解析:

此題題目就是 答案, 我們知道前序遍歷, 是從 根節點 開始的 , 所以 第一個訪問出來的節點 就是我們的 根節點

故:答案選:A

3. 習題三:

3.設一課二叉樹的中序遍歷序列:badce,后序遍歷序列:bdeca,則二叉樹前序遍歷序列為()

A: adbce

B: decab

C: debac

D: abcde

題目解析:

此題的精髓就在于,我們要根據 中序遍歷 和 后序遍歷畫出草圖, 根據草圖得到我們的 前序遍歷

在這里插入圖片描述
畫草圖的方法:

方法: 先根據后序遍歷尋找 根節點

對于 后序遍歷 來說:根節點是從右往左 , 然后結合 中序遍歷的特點 來確定 左右節點 的位置

故此題答案選: D

4. 習題四:

4.某二叉樹的后序遍歷序列與中序遍歷序列相同,均為 ABCDEF ,則按層次輸出(同一層從左到右)的序列為()

A: FEDCBA

B: CBAFED

C: DEFCBA

D: ABCDEF

題目解析 :

此題的精髓就在于,我們要根據 中序遍歷 和 后序遍歷畫出草圖, 根據草圖得到我們的 層序遍歷

在這里插入圖片描述

依照上一題的方法,我們成功畫出草圖,最終得到我們的層序遍歷

故答案選: A

魚式瘋言

獨家秘方:

  1. 對于我們已知 前序和中序 遍歷,我們的方法就是根據 前序遍歷從左往右 找根節點,然后結合 中序遍歷 畫出草圖
  1. 對于 我們已知的 后序和中序 遍歷, 我們的方法是 根據 后序遍歷 從右往左找根節點 , 然后結合中序遍歷 畫出草圖

對于上述題目來說, 畫圖是 根本

總結

  • . 二叉樹的遍歷初識: 我們通過基本的概念知道了二叉樹是通過一定 規則和方向 來遍歷我們 每一個節點

  • . 前序遍歷 : 本源是 根-左-右的方向遍歷

  • . 中序遍歷: 本源是 左-根-右的方向遍歷

  • .后序遍歷 : 本質上還是根據 左-右-根的方向遍歷

  • . 層序遍歷: 遵循一個 自上而下, 自左而右 的順序遍歷

  • . 二叉樹遍歷的應用 : 我們主打一個對于這四種遍歷的性質的理解和應用,來畫圖解題

如果覺得小編寫的還不錯的咱可支持 三連 下 (定有回訪哦) , 不妥當的咱請評論區 指正

希望我的文章能給各位寶子們帶來哪怕一點點的收獲就是 小編創作 的最大 動力 💖 💖 💖

在這里插入圖片描述

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/bicheng/20772.shtml
繁體地址,請注明出處:http://hk.pswp.cn/bicheng/20772.shtml
英文地址,請注明出處:http://en.pswp.cn/bicheng/20772.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

泛型知識匯總

演示代碼&#xff1a; package exercise;import java.util.Arrays;public class MyArrayList<E> {Object[] obj new Object[10];int size;public boolean add(E e) {obj[size] e;size;return true;}public E get(int index) {return (E) obj[index];}//沒有這個函數&a…

現代信號處理12_譜估計的4種方法(CSDN_20240602)

Slepian Spectral Estimator(1950) 做譜估計的目標是盡可能看清楚信號功率譜在某一個頻率上的情況&#xff0c;假設我們想了解零頻時的分布&#xff0c;最理想的情況是濾波器的傳遞函數H(ω) 是一個沖激函數&#xff0c;這樣就沒有旁瓣&#xff0c;也就沒有泄漏&#xff1b;其次…

【OpenHarmony】TypeScript 語法 ③ ( 條件語句 | if else 語句 | switch case 語句 )

文章目錄 一、條件語句1、if else 語句2、switch case 語句 參考文檔 : <HarmonyOS第一課>ArkTS開發語言介紹 一、條件語句 1、if else 語句 TypeScript 中的 if 語句 / if else 語句 用法 , 與 JavaScript 語言中的 if 語句 / if else 語句 語法 基本相同 ; if else 語…

使用Java構建RESTful API:實現靈活、可擴展的Web服務

RESTful API已經成為構建現代Web應用的標準之一&#xff0c;它通過簡單的HTTP協議進行通信&#xff0c;提供了一種輕量級、靈活、可擴展的方式來構建和管理Web服務。Java作為一種強大的編程語言&#xff0c;提供了許多框架和庫來幫助開發者構建高效的RESTful API。本文將探討如…

項目質量管理

目錄 1.概述 2.三個關鍵過程 2.1.規劃質量管理&#xff08;Plan Quality Management&#xff09; 2.2.管理質量&#xff08;Manage Quality&#xff09; 2.3.控制質量&#xff08;Control Quality&#xff09; 3.應用場景 3.1.十個應用場景 3.2.產品設計與開發 4.小結…

使用PyCharm 開發工具創建工程

一. 簡介 前面學習了 安裝 python解釋器。如何安裝python的一種開發工具 PyCharm。 本文來簡單學習一下&#xff0c;如何使用 PyCharm 開發工具創建一個簡單的 python工程。 二. PyCharm 開發工具創建一個工程 1. 首先&#xff0c;首先打開PyCharm 開發工具。選擇 創建一…

Docker部署SiYuan筆記-Unraid

使用unraid的docker部署SiYuan筆記&#xff0c;簡單記錄 筆記說明 Siyuan筆記是一款基于markdown語法的筆記工具&#xff0c;具有活躍的社區和多設備支持。大部分功能都是免費&#xff0c;源代碼開源&#xff0c;支持插件安裝&#xff0c;具有很不錯的使用體驗。 Docker地址&a…

linux---生產者和消費者模型

生產者消費者模式就是通過一個容器來解決生產者和消費者的強耦合問題。生產者和消費者彼此之間不直接通訊&#xff0c;而通過阻塞隊列來進行通訊&#xff0c;所以生產者生產完數據之后不用等待消費者處理&#xff0c;直接扔給阻塞隊列&#xff0c;消費者不找生產者要數據&#…

2024年海南省三支一扶報名指南,照片要求

2024年海南省三支一扶報名指南&#xff0c;照片要求 一、考試時間安排&#xff1a; 報名時間&#xff1a;6月1日8:00至6月7日18:00 準考證打印時間&#xff1a;6月17日8:00 考試時間&#xff1a;6月22日 二、招聘人數 海南省計劃招募390名高校畢業生

STM32_IIC

1、IIC簡介 I2C&#xff0c;即Inter IC Bus。是由Philips公司開發的一種串行通用數據總線&#xff0c;主要用于近距離、低速的芯片之間的通信&#xff1b;有兩根通信線&#xff1a;SCL&#xff08;Serial Clock&#xff09;用于通信雙方時鐘的同步、SDA&#xff08;Serial Data…

JVM之【執行引擎】

執行引擎 執行引擎是JVM的核心組件之一&#xff0c;它負責將Java字節碼文件轉換為機器指令并執行。這一過程涉及多個組成部分&#xff0c;各部分協同工作來完成字節碼到機器指令的轉換和執行。以下是執行引擎的主要組成部分及其作用&#xff1a; 1. 解釋器&#xff08;Interp…

vue.js框架快速入門

Vue.js是一個漸進式JavaScript框架&#xff0c;用于構建用戶界面和單頁應用程序。以下是Vue.js快速入門的基本步驟和概念&#xff1a; 1. 環境準備 確保你的計算機上安裝了Node.js&#xff0c;它包括npm&#xff08;Node Package Manager&#xff09;&#xff0c;用于管理項目…

友善RK3399v2平臺利用rkmpp實現硬件編解碼加速

測試VPU 編譯mpp sudo apt update sudo apt install gcc g cmake make cd ~ git clone https://github.com/rockchip-linux/mpp.git cd mpp/build/linux/aarch64/ sed -i s/aarch64-linux-gnu-gcc/gcc/g ./arm.linux.cross.cmake sed -i s/aarch64-linux-gnu-g/g/g ./arm.lin…

如何學習ai agent?

如何學習Agent&#xff0c;推薦閱讀《動手做AI Agent》這本書。 推薦理由&#xff1a; 1&#xff1a;一本書能夠全方位了解并探索Agent的奧秘&#xff01; &#xff08;1&#xff09;Agent的發展進程。 &#xff08;2&#xff09;可以幫我們做哪些事&#xff1a;自動辦公&am…

TypeScript 中的迭代器和生成器

1. 迭代器 迭代器是一種對象&#xff0c;它提供了一種統一的方式來訪問集合中的元素&#xff0c;而不暴露集合的內部結構。在 TypeScript 中&#xff0c;迭代器通過實現 Iterator 接口來定義。 interface Iterator<T> {next(): IteratorResult<T>; }interface It…

Liunx登錄時相關bash配置文件(登錄腳本)

profile類的文件&#xff1a;設定環境變量&#xff0c;運行命令或腳本 bashrc類的文件&#xff1a;定義命令別名 全局配置&#xff1a; /etc/profile /etc/profile.d/*.sh /etc/bashrc 個人配置文件: ~/.bash_profile ~/.bashrc 用戶登錄時加載bash配置文件的過程&#xff0c;…

碼隨想錄算法訓練營第二十四天| 77. 組合

77. 組合 - 力扣&#xff08;LeetCode&#xff09; class Solution {ArrayList<Integer> path new ArrayList<>();ArrayList<List<Integer>> result new ArrayList<>();public List<List<Integer>> combine(int n, int k) {if(n &…

升級Jenkins從2.263.3到2.440.2

升級Jenkins從2.263.3到2.440.2 ###任何一次升級前&#xff0c;先做整體備份&#xff0c;同時最好對plugins目錄和config.xml單獨備份。 ###對于任何一次插件安裝&#xff0c;務必安裝前先備份當前的plugins目錄&#xff0c;這是血的教訓。升級過程 1、 升級2.263.3到2.263.4…

15-通過JS代碼處理窗口滾動條

selenium并不是萬能的&#xff0c;頁面上有些操作無法實現時&#xff0c;就需要借助JS代碼來完成了。selenium提供了一個方法&#xff1a;execute_script()&#xff0c;可以執行JS腳本代碼。 比如&#xff1a;當頁面上的元素超過一屏后&#xff0c;想操作屏幕下方的元素&#x…

MyBatis查詢功能

MyBatis的各種查詢功能 1、若查詢出的數據只有一條 &#xff08;1)可以通過實體類對象或者集合接收 (2)可以通過List集合接收 (3&#xff09;可以通過map集合接收 結果&#xff1a;{password123456, sex女, id8, age22, email1234qq.com, usernameadmin4} 2、若查詢出來的數據有…