我们在面试中或者在实际工作中,常常问到这个问题,那么最基本的我们首先要了解什么是java容器,再去学习java常见容器。
在百度上,是这么解释java容器的:
容器是一个Java 所编写的程序,原先必须自行编写程序以管理对象关系,现在容器都会自动帮您做好。
我们先看一下java容器有哪些:
数组,String,java.util下的集合容器
数组长度限制为 Integer.Integer.MAX_VALUE;
String的长度限制: 底层是char 数组 长度 Integer.MAX_VALUE 线程安全的
List:存放有序,列表存储,元素可重复
Set:无序,元素不可重复
Map:无序,元素可重复
我们可以将上述容器做个分类,这样更方便识别:
按照存放要求分类
无序:Set,不能重复;
有序:List,允许重复;
键-值:Map;
按照读写效率
Hash:两者都高;
Array:读快,改慢;
Linked:读慢,改快;
Tree:加入元素可排序使用;
我们在选择容器时,需要根据容器的特性进行选择数组去实现对象存放,java容器有一种保护机制,能够防止多个进程同时修改同一个容器的内容,如果在迭代遍历某个容器的时候,另外一个进程介入其中,并且插入、删除或者修改容器中某个对象,就会报错。
java培训班:http://www.baizhiedu.com/java2019