首页 > 编程语言 >《Java编程十五讲》第十四讲:Java里提供的常用数据容器框架三

《Java编程十五讲》第十四讲:Java里提供的常用数据容器框架三

时间:2022-10-07 10:02:33浏览次数:49  
标签:容器 编程 Java HashMap 元素 List 键值 第十四 排序


#第十五讲 容器框架三

我们到此已经把ArrayList、HashSet和HashMap讲过了。JDK里面还有一些实现,如Queue、Deque、TreeSet、TreeMap等,我就不一一讲了。现在回顾一下。

Collection保存单一的元素,而Map把保存键值对。用泛型技术,就可以将制订类型的对象放到容器中,不会出现类型错误的元素,取出来的时候也不需要再进行类型转换。

Collection和Map都不定长,向里面添加更多元素的时候,会自动调整容量。

跟数组一样,List维持位置索引和对象的关联,因此是由确定次序的容器。

如果进行大量的随机访问,使用ArrayList,如果经常增删改数据,应该用LinkedList。

各种Queue和栈,底层用的是LinkedList。

HashMap设计用来快速访问,而TreeMap保持键值处于排序状态,所以也没有HashMap快。LinkedHashMap保持元素插入的顺序。

Set的元素不可重复。HashSet访问速度快。TreeSet保持元素处于有序的状态。LinkedHashSet保持元素插入的顺序。

带tree的类能排序,通过comparable接口给定对象自然排序或者Comparator<T>接口自定义对象的次序关系。

Vector、Stack、Hashtable是历史遗留下来的类,新程序不要使用。

再介绍一下Collections工具类。这个类包含了很多操作集合的静态方法。详细的大家可以看JDK文档,我这里只简要说一下基本的。

####1.排序操作

reverse(List):反转 List 中元素的顺序。

shuffle(List):对 List 集合元素进行随机排序。<


标签:容器,编程,Java,HashMap,元素,List,键值,第十四,排序
From: https://blog.51cto.com/u_13127751/5734223

相关文章

  • 《Java编程十五讲》第十三讲:Java里提供的常用数据容器框架
    第十三讲容器框架一计算机程序的主要用途是处理各类数据,而这些数据是有结构的,不是散乱的。几十年以前软件大师N.Wirth写道:程序=算法+数据结构。我们在数据结构里面学到......
  • 《Java编程十五讲》第十一讲:脚本
    第十一讲脚本大家好。我前两年意识到一件事情,就是Java里面有一个很好的功能许多人没有注意到,而要做大型一点的系统或者是做扩展性好一点的系统却都会用到,那就是脚本(scrip......
  • 《Java编程十五讲》第十讲:Lambda 表达式
    第十讲Lambda表达式我们要从匿名类开始讲起,一点点引出Lambda表达式。我比较喜欢Lambda这个词,显得比较有学问似的。我讲过,技术点不是孤立的,它们之间是有关联的,按照某种层......
  • 夯实Java基础,一篇文章全解析线程问题
    1\.线程是什么操作系统支持多个应用程序并发执行,每个应用程序至少对应一个进程,彼此之间的操作和数据不受干扰,彼此通信一般采用管道通信、消息队列、共享内存等方式。当一......
  • Java方法
    方法方法的定义方法包含一个方法头和一个方法体,下面是一个方法的所有部分:修饰符:修饰符,可选,告诉编译器如何调用该方法。定义了该方法的访问类型。返回值类型∶方法......
  • Java 输出为乱码的解决方案之一
    最近在学习Java的过程中,写了一个查询天气的小程序,发现输出为乱码,尝试了几种方法,发现一个奇怪又简单的方法解决了这个问题,只需要编码一个字段即可,其它字段自动重新编码,理论......
  • 我整理了50道经典Java算法题,直接进了字节跳动!!
    写在前面最近,很多小伙伴都想进入字节跳动这个快速发展的公司,而字节跳动对于算法的要求比较高。于是乎,有些小伙伴问我能否整理一些基础的算法题,帮助他们提升下基础算法能......
  • 2022.10.7Java方法详解
    Java方法详解System,out,println()是输出语句,也是方法Java方法是语句的集合,它们在一起执行一个功能方法是解决一类问题步骤的有序组合方法是包含类或对象中......
  • java类加载器 defineClass和loadClass的区别
    在阅读《自己动手写java虚拟机》时,通过观察P133~P135的代码classLoader会将加载过的class保存起来(包括defineclass的类),而只有在要加载一个类时 没有从已加载的类找到......
  • Java 面试题 10 - 海量数据处理算法
    大数据处理中的分治思想哈希映射:如果数据太大,不能全部放入内存中,就可以利用映射函数将每条数据映射到一个小文件中,例如%1000可以将大文件映射成1000个小文件。相同的......