Java 容器一些知识

一、Collection

1.static 方法:

  Collections.sort(List<T>):实现List排序功能

  Collections.fill(List<T> , Object o):向已经添加有内容的容器,改变这个容器内的这些元素全为这个值

二、List

  ArrayList:随机检索快速,但是插入、删除费时间。

1.static 方法:

  add():添加元素

  addAll(List):添加一个List进去,如果是数组要转换为List,可以利用Arrays.asList(a []);

  clear:清除容器中的元素

  set(index a,Object o):替换元素

  size():容器大小,需要有元素的情况下

  isEmpty():判断容器是否为空

  contains(Object o):查看容器中是否存在这个元素

  iterator():对容器进行底层遍历,hasNext():是否有下个元素,next(),就是下一个值。

  subList(index low,index high):截容器部分出来

  swap(List , a , b):实现交换数值

  LinkedList:方便插入和删除,但是不方便与随便检索   (按插入顺序排序)

List可以利用Collections.sort方法进行排序,List容器不能排除相同的对象和基本数据类型,数据只要是属于这个泛型,就可以存储在这个容器中。

三、Set (存入的数据是为唯一的,对于存储引用类型对象来说,只要地址不同,也会存储进来),基础方法是涵盖上面的List的!

  HashSet:优点为快速访问。存储方式不是写入的数据顺序,而是随机存储的!

  TreeSet:存储的元素是有排序的,String 是按照 A-Z 再 a-z 排序。

  LinkedHashSet:存储时时按照输入的顺序排序。

四、Map 主要应用和List 、Set 之间的映射  KEY  VALUE

  static 方法:

  put(key , value);  存放数据

  

  HashMap:方便随机访问

  TreeMap:元素排序好

  LinkedHashMap:按存储数据的排序进行存储

HashCode 和 equals 重写问题!!!!!!!

其他知识:

  可以使用asList方法实现数组转换为容器 :Arrays.asList("once two three fort ddd".split(" "));

  String.CASE_INSENSITIVE_ORDER

  comparable 中包含 compareto

时间: 2024-08-08 07:22:05

Java 容器一些知识的相关文章

Java 容器相关知识全面总结

Java实用类库提供了一套相当完整的容器来帮助我们解决很多具体问题.因为我本身是一名Android开发者,包括我在内很多安卓开发,最拿手的就是ListView(RecycleView)+BaseAdapter+ArrayList三剑客, 平时接触使用的容器也只有ArrayList和HashMap.导致对于整个Java容器体系的掌握和使用还停留在很浅的层面.省不足而思改进,那么跟着我来总结一下Java容器的相关知识吧. 结构 java容器类的继承结构 具体介绍 迭代器 Collection Lis

Java容器之旅:容器基础知识总结

下图展示了Java容器类库的完备图,包括抽象类和遗留构件(不包括Queue的实现). 常用的容器用黑色粗线框表示,点线框表示接口,虚线框表示抽象类,实线框表示类,空心箭头表示实现关系.Produce表示任意的Map对象可以生成Collection对象,任意的Collection对象可以生成Iterator对象. 最后以表格的形式总结List.Set.Map接口及各实现类的特性:   特性 实现类 实现类特性 对放置的元素的要求 List 线性.有序的存储容器,可通过索引访问元素get(n) Ar

Java 容器在实际web项目中应用

前言:在java开发中我们离不开集合数组等,在java中有个专有名词:"容器" ,下面会结合Thinking in Java的知识和实际开发中业务场景讲述一下容器在Web项目中的用法.可结合图片代码了解Java中的容器 备注 :这个地方 ,参考于朝向远方的博客Java容器详解,既然前人总结的这么好,我就直接拿来用,在这里更注重在实际开发中的例子,感谢那些总结的前辈们,辛苦了. 简单的数组例子 Thinking in Java 中并没有把数组归为Java的容器,实际上数组的确不是Java

Java 容器在实际项目中的应用

前言:在java开发中我们离不开集合数组等,在java中有个专有名词:"容器" ,下面会结合Thinking in Java的知识和实际开发中业务场景讲述一下容器在Web项目中的用法.可结合图片代码了解Java中的容器 备注 :这个地方 ,参考于朝向远方的博客Java容器详解,既然前人总结的这么好,我就直接拿来用,在这里更注重在实际开发中的例子,感谢那些总结的前辈们,辛苦了. 简单的数组例子 Thinking in Java 中并没有把数组归为Java的容器,实际上数组的确不是Java

【Java心得总结五】Java容器中——Collection

在[Java心得总结五]Java容器上——容器初探这篇博文中,我对Java容器类库从一个整体的偏向于宏观的角度初步认识了Java容器类库.而在这篇博文中,我想着重对容器类库中的Collection容器做一个着重的探索与总结. Collection:一个独立元素的序列,这些元素都服从一条或多条规则.(注:Collection其实就是将一组数据对象按照一维线性的方式组织起来)List必须按照插入的顺序保存元素,而set不能有重复元素.Queue按照排队规则来确定对象产生的顺序(通常与它们被插入的顺序

Java容器类的知识

it新手特别是it编程自学的新手,还分不清Java各个名词的含义,这对于学习Java将是很大的一个障碍.下面就是总结的一小部分:Java容器类的知识 1. Array 和 Arrays: Arrays:用来操作array的工具类,其中包含一组static函数: equals():比较两个array 是否相等. array拥有相同元素个数,且所有对应元素两两相等. fill():将值填入 array中. sort():用来对array 进行排序. binarySearch():在排好序的 arra

【Java心得总结七】Java容器下——Map

我将容器类库自己平时编程及看书的感受总结成了三篇博文,前两篇分别是:[Java心得总结五]Java容器上——容器初探和[Java心得总结六]Java容器中——Collection,第一篇从宏观整体的角度对Java中强大的容器类库做了一个简单总结而第二篇专门针对容器类库中的Collection部分进行了总结.这篇博文将对容器类库中的Map部分进行一个整理总结. 一.初识Map Map:一组成对的“键值对”对象,允许你使用键来查找值.(注:Map其实是将键与值形成的二元组按照一维线性的方式组织起来,

Java Web基础知识之Filter:过滤一切你不想看到的事情

不要相信客户端, 所以做后端的人都应该铭记的事情.因为前端传过来的数据并不总是合法和有效的,所以后端是对访问资源的最后一道保护伞.之前我们在Spring中说到过AOP编程,AOP基础知识,它就可以在执行我们的方法之前进行一些预处理和验证来保护后端的资源.不难想到她的实现方式和本篇要说的过滤器的实现原理应该是相同的,都是通过Java的动态代理实现的(自己的理解). 在Java Web的开发中,过滤器用于拦截请求,并对ServletRequest对象进行处理,我们可以想到的,它可以用来验证权限.加密

高效遍历Java容器

通过本文,你可以更深入的学习 Java 语言中 forEach 语法的知识,以及它和 C 语言形式的 for 循环. Steam API 的对比.简介Java 程序员经常使用容器,比如 ArrayList 和 HashSet.Java 8 中的 lambda 语法和 steaming API 可以让我们更方便的使用容器.大部分情况下,我们仅仅处理几千个元素,也不会去考虑性能问题.但是,在一些极端场景下,如果我们需要遍历上百万个元素,性能问题就凸显出来了.本文将采用 JMH 计算每块代码的运行时间