一、集合

1、介绍

  • 红色为接口
  • 蓝色为实现类

2、三种遍历方式

  • 迭代器
  • 增强for
  • lambda表达式
        Integer[] arr = col.toArray(new Integer[col.size()]);
Arrays.sort(arr, (i1, i2) -> i2 - i1);
System.out.println(Arrays.toString(arr)); // 迭代器 这里不允许修改数据,否则报并发错误
Iterator<Integer> it = col.iterator();
while (it.hasNext()){
System.out.println(it.next());
} // 增强for,注意 这里给item赋值不会影响集合的值
for (Integer item : col) {
System.out.print(item + " = ");
item = 10;
System.out.println(item);
}
System.out.println(StrUtil.toString(col)); // lambda ,注意 这里给item赋值不会影响集合的值
col.forEach(l-> System.out.println(l));
col.forEach(System.out::println);

二、数据结构

1、8种数据结构

  • 栈 :先进后出,后进先出

  • 队列:先进先出,后进后出

  • 数组:内存连续区域,查询快,增删慢

  • 队列:元素是游离的,查询慢,增删快,收尾操作极快

  • 二叉树

    • 度:每一个节点的子节点树 (二叉树 <=2)
    • 树高:树的总层数
    • 根节点:最顶层的节点
    • 左子节点:左下方的节点
    • 右子节点:右下方的节点
    • 根节点的左子树:左下方的所有节点
    • 根节点的右子树:右下方的所有节点
  • 二叉查找树(不一定都有左右节点)

    • 所有节点遵循:左孩子 < 父节点 < 右孩子
    • 小的存左边
    • 大的存右边
    • 相等的不存
    • 遍历
      • 前序遍历:当前-左-右
      • 中序遍历:左-当前-右
      • 后续遍历:左-右-当前
      • 层级遍历:从上到下一层一层
  • 平衡二叉树(任意节点左右子树高度差不超过1)

  • 红黑树



三、双列集合



  • 三种遍历
// 第一种遍历 keySet
Set<Integer> set = map.keySet();
set.forEach(k -> System.out.println(k + "=" + map.get(k)));
// 第二种遍历 EntitySet
Set<Map.Entry<Integer, String>> entries = map.entrySet();
entries.forEach((e) -> System.out.println(e.getKey() + "=" + e.getValue()));
for (Map.Entry<Integer, String> e : entries) {
System.out.println(e.getKey() + "=" + e.getValue());
}
// 第三种遍历 forEach
map.forEach((key, value) -> System.out.println(key + "=" + value));

最新文章

  1. Hadoop运维
  2. 配合 APP 调用 JS 的一次尝试
  3. HD2444The Accomodation of Students(并查集判断二分图+匹配)
  4. 《Linux命令行与shell脚本编程大全》 第二十二章 学习笔记
  5. myhuiban会议,期刊,科研人员,计算机类会议大全
  6. iOS-OC-基础-NSObject常用方法
  7. PHPCMS v9修改栏目或者单页没有权限
  8. JForum2.1.9 安装过程
  9. 没有闲话和grunt.initConfig()
  10. python --- 协程编程(第三方库gevent的使用)
  11. 用Python实现几种排序算法
  12. [C]\x字符转义序列
  13. 二、volatile关键字 - 内存可见性
  14. 学习笔记DL007:Moore-Penrose伪逆,迹运算,行列式,主成分分析PCA
  15. xmlhttp js 请求
  16. win10系统goole浏览器安装postMan插件
  17. codeforces982A
  18. easyui学习笔记2—在行内进行表格的增删改操作
  19. Opportunity Helper
  20. Clustered and Secondary Indexes

热门文章

  1. Centos7 MyCat2 安装部署
  2. 两步解决php超时问题
  3. reset slave
  4. 新发现的几个不错的c++库
  5. 青少年CTF-Hanser!![wp]
  6. docker tar包下载地址
  7. python之shapely库的使用
  8. 批量添加esxi主机到Vcenter
  9. react项目--路由封装
  10. Request processing failed;