Java程序员从笨鸟到菜鸟(七)数组和集合
2018-02-28 14:58
405 查看
1. 数组和集合的区别
数组声明了容纳元素的类型,而集合不声明
数组声明之后,长度不可改变,而集合可以根据需求动态改变长度
数组是线性排列的,执行效率优于集合
2. 集合相关知识
2.1 集合体系中的三个主要接口:List、Set、Map;List和set实现了collection接口;
2.2 Set:不允许重复元素,HashSet和TreeSet是两个主要实现类,Set的取值只能通过游标
2.3 List:允许元素重复,ArrayList、LinkedList和Vector是其三个主要实现类;ArrayList是线程不安全的,Vector是线程安全(效率相对较低)的,这两个的底层都是由数组实现的;LinkedList是线程安全的,底层是由链表实现的。
数组和链表的优缺点:数组查询、修改快,插入和删除较难(要移动数据);链表插入删除容易,查询、修改慢(要移动指针)。
2.4 Map是键值对集合,key值唯一不重复,value值可以,HashMap、TreeMap、HashTable是三个主要实现类;HashTable是线程安全的,效率低,不能存null值,HashMap是线程不安全的,可以存null值
数组声明了容纳元素的类型,而集合不声明
数组声明之后,长度不可改变,而集合可以根据需求动态改变长度
数组是线性排列的,执行效率优于集合
2. 集合相关知识
2.1 集合体系中的三个主要接口:List、Set、Map;List和set实现了collection接口;
2.2 Set:不允许重复元素,HashSet和TreeSet是两个主要实现类,Set的取值只能通过游标
2.3 List:允许元素重复,ArrayList、LinkedList和Vector是其三个主要实现类;ArrayList是线程不安全的,Vector是线程安全(效率相对较低)的,这两个的底层都是由数组实现的;LinkedList是线程安全的,底层是由链表实现的。
数组和链表的优缺点:数组查询、修改快,插入和删除较难(要移动数据);链表插入删除容易,查询、修改慢(要移动指针)。
2.4 Map是键值对集合,key值唯一不重复,value值可以,HashMap、TreeMap、HashTable是三个主要实现类;HashTable是线程安全的,效率低,不能存null值,HashMap是线程不安全的,可以存null值
相关文章推荐
- Java程序员从笨鸟到菜鸟之(五)java开发常用类(包装,数字处理集合等)(下)
- Java程序员从笨鸟到菜鸟之(一)开发环境搭建,基本语法,字符串,数组
- Java程序员从笨鸟到菜鸟之(五)java开发常用类(包装,数字处理集合等)(下)
- Java程序员从笨鸟到菜鸟之(四)java开发常用类(包装,数字处理集合等)(上)
- Java程序员从笨鸟到菜鸟之(一)开发环境搭建,基本语法,字符串,数组
- Java程序员从笨鸟到菜鸟之(一)开发环境搭建,基本语法,字符串,数组
- Java程序员从笨鸟到菜鸟之(四)java开发常用类(包装,数字处理集合等)(上)
- Java程序员从笨鸟到菜鸟之(五)java开发常用类(包装,数字处理集合等)(下)
- java程序员从笨鸟到菜鸟之(三十一)集合之TreeMap以及集合嵌套
- Java程序员从笨鸟到菜鸟之(一)开发环境搭建,基本语法,字符串,数组
- Java程序员从笨鸟到菜鸟之(四)java开发常用类(包装,数字处理集合等)(上)
- Java程序员从笨鸟到菜鸟之(一)开发环境搭建,基本语法,字符串,数组
- Java程序员从笨鸟到菜鸟之(五)java开发常用类(包装,数字处理集合等)(下)
- java程序员从笨鸟到菜鸟之(二十八)集合TreeSet排序之compareTo和compare方法
- Java程序员从笨鸟到菜鸟之(五)java开发常用类(包装,数字处理集合等)(下)
- Java程序员从笨鸟到菜鸟之(一)开发环境搭建,基本语法,字符串,数组
- Java程序员从笨鸟到菜鸟之(五)java开发常用类(包装,数字处理集合等)(下)
- Java程序员从笨鸟到菜鸟之(一)开发环境搭建,基本语法,字符串,数组
- Java程序员从笨鸟到菜鸟之(四)java开发常用类(包装,数字处理集合等)(上)
- java程序员从笨鸟到菜鸟之(三十)集合之HashMap数据结构和扩容机制