久久福利_99r_国产日韩在线视频_直接看av的网站_中文欧美日韩_久久一

您的位置:首頁技術文章
文章詳情頁

java之TreeUtils生成一切對象樹形結構案例

瀏覽:5日期:2022-08-24 10:01:07

項目中經常會遇到各種需要以樹形結構展示的功能,比較常見的,如菜單樹,分類樹,部門樹等等,如果為每種類型都遍歷遞歸生成樹形結構返回給前端,顯得有些冗余且麻煩,并且其實邏輯都是一致的,只是遍歷的對象不同而已,故其實可以通過面向接口思維,來實現這種通用工具類的實現。

TreeNode用來表示每個樹節點的抽象,即需要生成樹的對象需要實現此接口。

/** * 樹節點父類,所有需要使用{@linkplain TreeUtils}工具類形成樹形結構等操作的節點都需要實現該接口 * * @param <T> 節點id類型 */ public interface TreeNode<T> { /** * 獲取節點id * * @return 樹節點id */ T id(); /** * 獲取該節點的父節點id * * @return 父節點id */ T parentId(); /** * 是否是根節點 * * @return true:根節點 */ boolean root(); /** * 設置節點的子節點列表 * * @param children 子節點 */ void setChildren(List<? extends TreeNode<T>> children); /** * 獲取所有子節點 * * @return 子節點列表 */ List<? extends TreeNode<T>> getChildren(); }

TreeUtils用來生成樹形結構,以及獲取所有葉子節點等操作

/** * 樹形結構工具類 * * @author meilin.huang * @version 1.0 * @date 2019-08-24 1:57 下午 */public class TreeUtils { /** * 根據所有樹節點列表,生成含有所有樹形結構的列表 * * @param nodes 樹形節點列表 * @param <T> 節點類型 * @return 樹形結構列表 */ public static <T extends TreeNode<?>> List<T> generateTrees(List<T> nodes) { List<T> roots = new ArrayList<>(); for (Iterator<T> ite = nodes.iterator(); ite.hasNext(); ) { T node = ite.next(); if (node.root()) {roots.add(node);// 從所有節點列表中刪除該節點,以免后續重復遍歷該節點ite.remove(); } } roots.forEach(r -> { setChildren(r, nodes); }); return roots; } /** * 從所有節點列表中查找并設置parent的所有子節點 * * @param parent 父節點 * @param nodes 所有樹節點列表 */ @SuppressWarnings('all') public static <T extends TreeNode> void setChildren(T parent, List<T> nodes) { List<T> children = new ArrayList<>(); Object parentId = parent.id(); for (Iterator<T> ite = nodes.iterator(); ite.hasNext(); ) { T node = ite.next(); if (Objects.equals(node.parentId(), parentId)) {children.add(node);// 從所有節點列表中刪除該節點,以免后續重復遍歷該節點ite.remove(); } } // 如果孩子為空,則直接返回,否則繼續遞歸設置孩子的孩子 if (children.isEmpty()) { return; } parent.setChildren(children); children.forEach(m -> { // 遞歸設置子節點 setChildren(m, nodes); }); } /** * 獲取指定樹節點下的所有葉子節點 * * @param parent 父節點 * @param <T> 實際節點類型 * @return 葉子節點 */ public static <T extends TreeNode<?>> List<T> getLeafs(T parent) { List<T> leafs = new ArrayList<>(); fillLeaf(parent, leafs); return leafs; } /** * 將parent的所有葉子節點填充至leafs列表中 * * @param parent 父節點 * @param leafs 葉子節點列表 * @param <T> 實際節點類型 */ @SuppressWarnings('all') public static <T extends TreeNode> void fillLeaf(T parent, List<T> leafs) { List<T> children = parent.getChildren(); // 如果節點沒有子節點則說明為葉子節點 if (CollectionUtils.isEmpty(children)) { leafs.add(parent); return; } // 遞歸調用子節點,查找葉子節點 for (T child : children) { fillLeaf(child, leafs); } }}

具體使用方式之聲明樹節點對象

@Getter@Setterpublic class ResourceListVO implements TreeNode<Long> { private Long id; private Long pid; private Integer type; private String name; private String icon; private String code; private Integer status; private List<ResourceListVO> children; @Override public Long id() { return this.id; } @Override public Long parentId() { return this.pid; } @Override public boolean root() { return Objects.equals(this.pid, 0L); } @Override public void setChildren(List children) { this.children = children; }}

具體使用方式之調用

/** * 獲取賬號的資源樹 */ public List<ResourceListVO> listByAccountId(Long accountId) { return TreeUtils.generateTrees(BeanUtils.copyProperties(mapper.selectByAccountId(userId), ResourceListVO.class)); }

通過使用TreeUtils工具可以統一方便地生成一切對象的樹形結構以及其他一些對樹的操作,避免對每個對象都用特定代碼生成。使用起來就是幾個字簡潔方便爽歪歪biu特否。

補充知識:TreeUtil 數據庫菜單生成無限級樹形結構

1、項目需求:

從數據庫從加載所有的菜單出來,菜單中有

id,parentId,name字段

希望能有一個工具幫我進行樹形結構重組;

實例類:

package com.lming.chcservice.util; import lombok.Data; import java.util.List;@Datapublic class TreeNode { /** * 節點id */ private String id; /** * 父節點 默認0為根節點 */ private String parentId; /** * 節點名稱 */ private String name; /** * 是否有子節點 */ private boolean hasChild; public TreeNode(String id, String parentId, String name) { this.id = id; this.parentId = parentId; this.name = name; }}

工具類:

package com.lming.chcservice.util; import java.util.ArrayList;import java.util.LinkedHashMap;import java.util.List;import java.util.Map; /** * 樹形結構工具類 * * 將一組list對象轉成樹形結構 * 該list需符合設定的字段類型 * */public class TreeUtil { public static Map<String,Object> mapArray = new LinkedHashMap<String, Object>(); public List<TreeNode> menuCommon; public List<Object> list = new ArrayList<Object>(); public List<Object> treeMenu(List<TreeNode> menu){ this.menuCommon = menu; for (TreeNode treeNode : menu) { Map<String,Object> mapArr = new LinkedHashMap<String, Object>(); if(treeNode.getParentId().equals('0')){setTreeMap(mapArr,treeNode);list.add(mapArr); } } return list; } public List<?> menuChild(String id){ List<Object> lists = new ArrayList<Object>(); for(TreeNode a:menuCommon){ Map<String,Object> childArray = new LinkedHashMap<String, Object>(); if(a.getParentId() .equals(id)){setTreeMap(childArray,a);lists.add(childArray); } } return lists; } private void setTreeMap(Map<String,Object> mapArr,TreeNode treeNode){ mapArr.put('id', treeNode.getId()); mapArr.put('name', treeNode.getName()); mapArr.put('parentId', treeNode.getParentId()); List<?> childrens = menuChild(treeNode.getId()); if(childrens.size()>0){ mapArr.put('hasChild',true); } else{ mapArr.put('hasChildren',false); } mapArr.put('childrens', menuChild(treeNode.getId())); } public static void main(String[] args){ List<TreeNode> treeNodeList = new ArrayList<>(); TreeNode treeNode1 = new TreeNode('1','0','首頁'); TreeNode treeNode2 = new TreeNode('2','0','訂單'); TreeNode treeNode3 = new TreeNode('3','1','預約'); TreeNode treeNode4 = new TreeNode('4','2','捐獻'); TreeNode treeNode5 = new TreeNode('5','4','我的訂單'); TreeNode treeNode6 = new TreeNode('6','5','個人中心'); TreeNode treeNode7 = new TreeNode('7','6','個人中心2'); TreeNode treeNode8 = new TreeNode('8','99','個人中心3'); treeNodeList.add(treeNode1); treeNodeList.add(treeNode6); treeNodeList.add(treeNode5); treeNodeList.add(treeNode3); treeNodeList.add(treeNode4); treeNodeList.add(treeNode2); treeNodeList.add(treeNode7); treeNodeList.add(treeNode8); TreeUtil treeUtil = new TreeUtil(); System.out.print(JsonUtil.toJson(treeUtil.treeMenu(treeNodeList))); } }

測試結果:

[ { 'id': '1', 'name': '首頁', 'parentId': '0', 'hasChild': true, 'childrens': [ { 'id': '3', 'name': '預約', 'parentId': '1', 'hasChildren': false, 'childrens': [] } ] }, { 'id': '2', 'name': '訂單', 'parentId': '0', 'hasChild': true, 'childrens': [ { 'id': '4', 'name': '捐獻', 'parentId': '2', 'hasChild': true, 'childrens': [ { 'id': '5', 'name': '我的訂單', 'parentId': '4', 'hasChild': true, 'childrens': [ {'id': '6','name': '個人中心','parentId': '5','hasChild': true,'childrens': [ { 'id': '7', 'name': '個人中心2', 'parentId': '6', 'hasChildren': false, 'childrens': [] }] } ] } ] } ] }]

實力類不一致怎么辦? 自己寫一個實體轉換類,將類的對象屬性轉換成上面的實體類,然后在調用,當然最快的方式直接修改實體類即可用。

以上這篇java之TreeUtils生成一切對象樹形結構案例就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持好吧啦網。

標簽: Java
相關文章:
主站蜘蛛池模板: yy6080久久伦理一区二区 | 91观看| 大象一区| 不卡视频一区 | 精品一区二区av | 久久91| av高清在线免费观看 | 色婷婷综合久久久中字幕精品久久 | 一本一道久久a久久精品逆3p | 久久精品国产99国产精品 | 久久免费福利视频 | 国产成人精品免费视频大全 | 97人人超碰 | 国产免费看 | 亚洲国产成人在线视频 | 色婷婷欧美 | 在线视频国产一区 | 中文字幕免费在线观看 | 午夜成人免费视频 | 久草精品视频在线播放 | 一级在线免费视频 | 中文字幕 国产精品 | 91麻豆精品国产91久久久资源速度 | 欧美日韩精品综合 | 精品99免费 | 欧美日韩国产在线观看 | 亚洲成人免费 | 欧美日韩精品一区二区三区蜜桃 | 日韩福利视频导航 | 日韩欧美在线不卡 | 久久天堂 | 国产综合亚洲精品一区二 | 久久久久久一区二区 | 国产日韩一区二区三免费高清 | 在线91| 91电影在线观看 | 午夜免费片 | 免费观看毛片 | 国产成人在线网站 | 69av在线视频 | 欧美日韩激情四射 | 日韩免费在线观看视频 | 一级黄片毛片 | 在线日韩中文字幕 | 不卡视频一区二区 | 久久精品久久综合 | 午夜影院免费观看视频 | 国产成人久久精品一区二区三区 | 欧美另类国产 | 国产精品久久久久aaaa九色 | 一级毛片国产 | 国产精品99久久久久 | 国产综合精品一区二区三区 | av影音资源| 久久精品成人免费视频 | 99re在线视频 | 中文字幕在线视频网站 | 精品国产乱码久久久久久蜜臀 | 国产在线二区 | 午夜爱爱毛片xxxx视频免费看 | 日韩色综合 | 精品一区二区三区在线观看视频 | av在线毛片 | 成人欧美一区二区三区在线观看 | 国产精品18| 中文字幕一区二区三区乱码图片 | 人操人人 | 99精品国产高清一区二区麻豆 | 久久久久久久久综合 | 欧美日韩亚洲二区 | 日韩精品在线一区 | 一区中文字幕 | 国产精品视频免费播放 | 亚洲天堂一区 | 观看av| 国产免费中文字幕 | 欧洲成人午夜免费大片 | 久久国产精品电影 | 一级视频在线观看 | 亚洲精品在线看 | 欧美午夜一区 | 免费日韩视频 | 成人在线播放网站 | 国产福利一区二区三区视频 | 精品视频久久久久 | 99爱在线观看 | 人一级毛片 | 91色视频在线观看 | 中文字幕一区在线观看视频 | 欧美黑人巨大xxx极品 | 亚洲va欧美va天堂v国产综合 | 色综合天天天天做夜夜夜夜做 | 国产欧美日韩综合精品一区二区 | 久久综合九色综合欧美狠狠 | 国产69精品久久久久观看黑料 | 久久久精品久久久久 | 国产极品视频在线观看 | 在线播放国产一区二区三区 | 免费毛片视频 | 久久6 | 精品国产一区二区三区小蝌蚪 | 亚洲国产91| 国产免费av在线 | 精品久久久久久久久久久久 | 人人干人人干人人干 | 91亚洲一区| 国产精品一区一区三区 | 婷婷丁香六月天 | 亚洲成人伦理 | 久久久.com | 91一区二区| 狠狠操中文字幕 | 亚洲精品美女久久 | 国产精品九九九 | 精品欧美黑人一区二区三区 | 欧美伊人影院 | 国产农村妇女精品一二区 | 中文字幕免费看 | 91高清视频在线观看 | 精品久久一二三区 | 电影91久久久 | 91精品国产一区二区三区免费 | а√天堂资源中文最新版地址 | 国产精品视频免费看 | 久久亚洲二区 | 99精品不卡 | 一本一本久久a久久精品综合妖精 | 久久久久久久香蕉 | 激情com| 国产欧美精品一区二区三区四区 | 国产大片久久久 | 欧美在线亚洲 | 欧美日一区二区 | 中文字幕一区二区三 | 久久美女视频 | 在线观看日韩 | 国产精品一区二区在线观看 | 日本一区二区三区四区 | 性色av一区二区三区免费看开蚌 | 欧美激情久久久 | 超碰在线国产 | 久久久日韩精品一区二区三区 | 色国产精品 | 密色视频 | 91成人在线免费视频 | 亚洲免费一区 | 久草色视频在线观看 | 久久网页 | 色约约精品免费看视频 | 亚洲精品99 | 国产精品自拍视频网站 | 久久综合社区 | www久久精品 | 欧美成人黄激情免费视频 | 欧美中文 | 一区二区三区四区在线播放 | 黄色大片网站 | 成人男女激情免费视频 | 国产精品99久久久久久宅男 | www.一区二区三区 | 国产欧美一区二区三区国产幕精品 | 奇米精品一区二区三区在线观看 | 黄色av网站在线免费观看 | 精品久久久久国产 | 欧美高潮 | 精品国产一区二区三区四 | 亚洲天堂一区 | 亚洲一区 | 亚洲成人综合网站 | 国产乱码一区二区三区 | 成人国产精品久久久 | www.日本三级| 亚洲视频一区二区三区 | 精品毛片 | 91精品国产91久久久久久吃药 | 91高清在线 | 国产精品久久一区二区三区 | 亚洲国产精品自拍 | 久久久国产精品视频 | 日韩精品1区2区 | 在线国产视频 | 国产精品成人在线观看 | www.国产.com | 久久生活片 | 日韩1区3区4区第一页 | 日本免费在线视频 | 日韩视频精品 | 黄视频网站免费看 | 91精品国产综合久久久久久丝袜 | 69久久99精品久久久久婷婷 | 国产精品久久久久久久久久东京 | 日韩精品网站在线观看 | 国产最新视频 | 中文字幕亚洲一区二区三区 | 在线欧美视频 | 久久综合伊人 | 日本在线视频一区 | 在线高清av | 欧美a区| 黄色毛片观看 | 黑人巨大精品欧美一区二区小视频 | 亚洲欧美影院 | 亚洲精品国产第一综合99久久 | 视频一区在线 | 欧美日韩激情 | 妹子干综合 | av在线综合网 | 一区二区国产精品 | 国产欧美在线视频 | 欧美日韩综合精品 | 日本阿v视频高清在线中文 中文二区 | 久久久精品国产 | 操一草| 99精品久久精品一区二区爱城 | av一级毛片| 国精日本亚洲欧州国产中文久久 | 国产午夜久久久久 | 欧美视频网站 | 欧美精品一区二区在线观看 | 99re热精品视频国产免费 | 久久久久91 | 日韩第一区 | 国产精品日本一区二区不卡视频 | 91精品国产一区二区三区蜜臀 | 成人日韩av| 亚洲午夜成激人情在线影院 | 国产精品无码永久免费888 | 超碰人人插 | 一级片在线免费看 | 日本福利视频 | 一区二区视频在线 | 日本天天操| 黄色一级网址 | 福利影院在线观看 | 欧美日韩国产在线观看 | 欧美一区二区三区电影 | 日中文字幕在线 | 国产在线观看一区二区三区 | 色啪网站| 亚洲美女视频在线观看 | 操操日 | 国产日韩欧美激情 | 毛片免费网站 | 国产乱码精品一区二区三区五月婷 | 欧美一区在线视频 | 色综合色综合 | 成人精品 | 中文字幕一二三 | 毛片久久久 | www.日韩在线视频 | 久久免费视频网 | 精品一区二区三区久久 | 国产精品成人国产乱一区 | 青青草网站 | 日韩在线资源 | 九九热九九 | 国产视频一区二区三区四区 | 中文久久 | 精品一区二区三区久久 | 日韩精品一区二区三区中文在线 | 九色91视频 | 亚洲九九精品 | 国产色区 | 欧美日韩中文 | 免费操片 | 国产自产才c区 | 中文字幕在线观看精品视频 | av影片在线 | 国产精品久久久久久久久久久久久 | 夜夜操天天干 | 男女黄色免费网站 | 亚洲日本中文 | 国产激情精品一区二区三区 | av午夜 | 中文字幕一区二区三区在线视频 | 我要看一级黄色 | 欧美一级性 | 在线视频中文字幕 | 太平公主一级艳史播放高清 | 国产精品美女一区二区三区四区 | 国产在线看片 | 国产精品久久久久久久岛一牛影视 | 先锋久久 | 日本三级网站在线观看 | 国产成人精品高清久久 | 啪一啪| 日韩一区电影 | jlzzjlzz亚洲日本少妇 | 亚洲aⅴ | 国产精品久久久久久久电影 | 欧美一区二区三区精品 | 91视频www| 激情视频在线观看免费 | 一级毛片电影 | 亚洲欧美少妇 | 天天草狠狠干 | 91小视频| 黄免费观看| 成人小视频在线观看 | 久久精品99| 日韩欧美一区二区视频 | 国产精品成人一区二区三区夜夜夜 | 99亚洲精品 | 国产一级毛片国语一级 | 欧美日本一区 | 亚洲 欧美 日韩在线 | 91视视频在线观看入口直接观看 | 精品国产区 | 国产精品久久影院 | 色视频在线免费观看 | 99精品全国免费观看视频软件 | 国产乱码精品一区二区三区手机版 | 成人乱人乱一区二区三区 | 国产视频自拍一区 | 国产精品久久久久一区二区三区 | 亚洲欧美日韩国产综合 | 国产精品久久久久久久 | 日韩成人精品在线 | 亚洲一区二区三区视频 | 国产精品三级在线 | 99精品视频网 | 亚洲aaa | 精品无人乱码一区二区三区 | 天天艹逼 | 久久伊人久久 | 亚洲欧美日韩另类精品一区二区三区 | 午夜精品久久久久久久久 | 97国产精品视频 | 日韩av网站在线 | 午夜私人福利 | 亚洲一区二区三区视频 | 久热热热 | 亚洲一区二区在线视频 | 伊人久久艹 | 欧美成人精品一区二区男人看 | 亚洲精品视频一区二区三区 | 91视频免费观看网址 | 台湾av在线 | 亚洲精品乱码久久久久久蜜桃不卡 | 国产精品久久久久久久 | 久久久久综合 | 精品国产91亚洲一区二区三区www | 激情久久久久 | 亚洲一区在线日韩在线深爱 | 羞羞视频免费观看入口 | 国产黄色免费小视频 | 成人涩涩网站 | 欧美一级免费看 | 国产91综合一区在线观看 | 精品视频在线免费 | 国产精品一区人伦免视频播放 | 日韩精品免费在线观看 | 国产精品不卡视频 | 欧美中文在线观看 | 久久密 | 欧美高清国产 | 日韩在线观看视频免费 | 欧美黑人狂躁日本寡妇 | 精品国产欧美一区二区三区不卡 | 成人欧美一区二区三区黑人孕妇 | 婷婷激情五月 | 精品二区 | 另类 综合 日韩 欧美 亚洲 | 精品九九久久 | 亚洲精品成人在线 | 免费欧美一级 | 国产高清美女一级a毛片久久 | 日本久久二区 | 国产精品成人3p一区二区三区 | 99re免费视频精品全部 | 亚洲综合色视频在线观看 | 欧美视频网站 | 国产美女网站视频 | 亚洲aⅴ| 欧美成人在线免费观看 | 成年人在线观看视频 | 亚洲永久免费 | 国产图区 | 国产精品资源在线 | 久草成人| 亚洲一区中文字幕永久在线 | 日本视频二区 | 免费久久网站 | 日韩免费观看视频 | 精品在线播放 | 狠狠色综合欧美激情 | 色综合色综合 | 欧美成人一区二区三区片免费 | 香蕉av777xxx色综合一区 | 国产一区二区三区 | 久久国产精品一区 | 91精品国产综合久久久久久丝袜 | 狠狠干av| 国产精品久久久久久久久久 | 欧美精品成人在线视频 | 一区二区视屏 | av网站在线免费观看 | 国产精品99一区二区三区 | 黄色片网站在线看 | 一区二区日韩精品 | 夜夜操操操 | 亚洲高清在线视频 | 国产精品毛片一区二区三区 | 久草视频在线资源站 | 蜜桃精品久久久久久久免费影院 | 久久线视频 | 龙珠z普通话国语版在线观看 | 亚洲午夜精品视频 | 国产91网址 | 国产在线精品一区二区三区 | 亚洲一区二区三区精品视频 | 久草免费在线视频 | 日韩av免费在线观看 | 一区二区三区免费网站 | 精品一区二区视频 | 黄色片在线免费观看 | 欧美在线观看免费观看视频 | 奇米色777欧美一区二区 | 欧美日韩中文字幕 | 国产精一区 | 色性视频| 久久精品123 | 国产精品国产三级国产aⅴ中文 | 大黑人交xxx极品hd | 精品国产一区二区三区性色av | 国产精品777一区二区 | 久久久久久国产视频 | 免费在线亚洲 | 亚洲精品视频区 | 91精品欧美久久久久久动漫 | 日本国产一区二区 | 国产一区二区自拍视频 | 看片国产 | 欧美久久久 | 色视频网站在线观看 | 99免费观看 | 亚洲一区二区三区四区在线 | 欧美久久久久久久久久久久 | 九一视频在线免费观看 | 欧美一区中文字幕 | 中文字幕视频在线播放 | 日韩激情一区二区 | а天堂中文最新一区二区三区 | 福利视频网址导航 | 香蕉夜色 | 亚洲成人免费 | 欧美精品成人一区二区三区四区 | 北条麻妃国产九九九精品小说 | 91九色视频国产 | 亚洲国产成人精品女人久久久 | 欧美成人综合在线 | 欧美日韩国产综合在线 | 日韩精品日韩激情日韩综合 | 国产成人精品免费视频大全 | 精品视频久久 | 欧美成人精品一区二区三区 | 日韩在线免费 | 午夜精品视频 | 色综合天天天天做夜夜夜夜做 | 午夜精品久久久久久久久久久久 | 国产91久久久 | 中文字幕在线观看精品视频 | 欧美精产国品一二三区 | 日本黄色毛片 | 国产高清在线精品一区 | 午夜免费小视频 | 综合久久久久久久 | 欧美日韩综合精品 | 日韩av高清在线 | 日本久久免费 | 亚洲怡红院在线观看 | 国产精品色一区二区三区 | 激情91| 成人激情免费视频 | 成人欧美亚洲 | 欧美日韩精品一区二区 | 国产网址在线 | 在线观看成人小视频 | 日韩综合一区 | 久久草在线视频 | 欧美精品一区二区三区在线四季 | 激情一区二区三区 | 欧美一级淫片免费看 | 永久91嫩草亚洲精品人人 | 九色在线观看 | 国产成人av一区二区三区 | 香蕉久久久 | 午夜黄色影院 | 成人免费高清视频 | 99久久视频 | 麻豆久久久久久 | 波多野结衣一区在线观看 | av一区二区三区四区 | 日韩欧美中文在线 | 91综合网| 人人干人人爱 | 麻豆精品一区二区 | 国产精品久久久久久久久久东京 | 精品视频一区二区 | 国产免费无遮挡 | 婷婷久久综合 | 91精品国产综合久久久久久 | 色资源站| 91精品久久久久久久久中文字幕 | 91激情视频| 久久国产精品久久精品 | 精品国产一区二区三区日日嗨 | 国产综合视频 | 福利影院在线观看 | 欧美一区久久 | 久久免费电影 | 欧美与黑人午夜性猛交久久久 | 99精品欧美一区二区蜜桃免费 | 激情小说综合网 | 一级在线观看视频 | 99免费视频 | 青青草久草在线 | 综合二区| 欧美日本免费一区二区三区 | 亚洲精品乱码久久久久久麻豆不卡 | 精品一二三区 | 亚洲不卡| 亚洲精品国产a久久久久久 国产毛片毛片 | 精品国产视频 | 国产午夜精品一区二区三区嫩草 | 在线观看亚洲一区二区 | 国产精品久久久麻豆 | 成人av教育 | 国产精品三级久久久久久电影 | 91精品国产综合久久久久久丝袜 | 日夜夜精品视频 | 亚洲男人av | 国产精品久久九九 | 国产精品久久久久久久久免费桃花 | 亚洲精品第一区在线观看 | 国产视频1 | 九色一区| 欧美精品久久久 | 欧美日韩亚洲综合 | 在线视频自拍 | 成人国产精品免费观看 | 韩日视频在线观看 | 午夜在线视频免费观看 | 夜本色 | 精品国产三级a在线观看 | 久久www免费人成看片高清 | 国产一区二区欧美 | 精品一区二区三区在线观看 | 国产视频久久 | 欧美一区二区三区精品 | 国产不卡免费视频 | 干干人人 | 精品影院 | 亚洲国产成人久久综合一区,久久久国产99 | 国产96精品久久久 | 欧美在线a| 欧美三级网址 | 狠狠视频 | 自拍第一页 | 欧美在线观看视频 | 国产精品久久久久久久久久久新郎 | 国产精品国产成人国产三级 | 日韩精品久久久久 | 天天干视频 | 毛片真人毛毛片毛片 | 日韩视频一区二区 | 99国产视频| 成人超碰 | 91视频在线免费观看 | 国产成人精品在线观看 | 久久精品亚洲 | 国产精品久久久av | 你懂的在线视频播放 | 99久久精品免费看国产免费粉嫩 | 久久成人精品 | 国产精品乱码一二三区的特点 | 日韩精品一区二区在线观看视频 | 欧美电影一区二区三区 | 午夜免费视频 | 成人在线网址 | 亚洲国产中文字幕 | 精品无码久久久久国产 | 在线观看视频一区二区三区 | 久久99深爱久久99精品 | 欧美亚洲国产一区 | 精品国产一区二区三区成人影院 | 在线成人av | 日韩一二三区 | 青青草超碰在线 | 真人一级毛片 | 国产片久久 | 精品一区二区在线观看 | 91久久爽久久爽爽久久片 | 中文字幕第33页 | 欧美日韩中文字幕 | 亚洲国产精品综合久久久 | 国产97久久 | 99精品国产热久久91蜜凸 | 久久理论片 | 久久久蜜桃一区二区人 | 欧美性猛交xxxx黑人猛交 | 亚洲91精品 | 精品久久久久一区二区国产 | 精品免费一区二区 | 香蕉大人久久国产成人av | 日韩成人精品在线 | 午夜视频网 | 国产精品久久久久久久久免费 | 国产亚洲欧美在线 | 久久草视频 | 精品视频久久久 | 日本久久久久久久 | 欧美成人精品一区二区 | 亚洲国产一区二区三区 | 国产精品嫩草55av |