基础篇之集合总结

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了基础篇之集合总结相关的知识,希望对你有一定的参考价值。

1. Map集合和collection结合的区别

1》Collection一次存一个元素;Map一次存一对元素;

2》Collection是单列集合;Map是双列集合;

3》Map中的存储的为键值对,键与值之间存在着映射关系 。

 

2. 数组和集合的区别

1》数组长度固定;集合长度可变;

2》数组可以存储基本数据类型和存储引用数据类型;集合只能存储引用数据类型;

 

3. map下常用的集合<HashMap,TreeMap>

HashMap:底层基于数组加链表,键不可以重复,值可以重复,重写了equals和hashcode方法;

原因:原因同HashSet。

Treemap:键可以排序,不可以重复,原理同TreeSet。

 

4.迭代器(iterator和Enumeration和ListIterator)

Iterator是Enumeration的升级版;

vector和hashtable用的迭代器是Enumeration;

hashmap,arraylist等的迭代器用是Iterator。

ListIterator是list集合特有的迭代器,可以在遍历的过程中对元素的增、删、改、查,其他两个不能;

用法:

Hashnext同hasMoreElements;

Next同nextElement;

iterator较Enumeration多了remove,移除元素。

 

5. Hashtable同hashmap的区别;

Hashtable:键和值不能为空,线程安全,效率低,默认迭代器为Enumeration,父类为 Dictionary;

Hashmap:键可以一个为空,值可以多个为空,线程不安全,效率高,默认迭代器为iterator,父类为abstractmap;

Hashmap是hashtable的升级版,其他用法类似。

 

6. Properties

1》父类为hashtable

2》键值对可以通过put及setProperty输入, setProperty有返回值;

3》值的获取可以通过get及getProperty(String key) 和getProperty(String key, String defaultValue),其中getProperty (String key, String defaultValue)在没有找到键的情况下可以返回指定返回值,String defaultValue为指定返回值;

4》list(PrintStream out):可以把流中的键值读取到Properties集合中,system.out的返回值是PrintStream返回类型;可以输出到控制台(可以把文本路径写成Filedescriptor.out),也输出到文件中,键值对格式为123=123-456,123为键,456为值,也可以把Properties集合的键值对写入相对应的流,外加注释的形式。

5》Properties集合的格式可以保存为Properties格式及xml格式

6》Properties常用方法

getProperty(String key, String defaultValue)获取值,没有按默认值返回

setProperty(String key, String value)输入键值对有返回值

store(Writer writer, String comments)以Properties格式将键值对写入输出流,String comments注释文字

load(Reader reader)从文本中读取键值对

 

7. Weakhashmap

假如键为弱引用,在垃圾回收机制下会被回收,用法和hashmap差不多。

 

8. IdentityHashMap

根据地址是否相同去重,用法和hashmap差不多。

 

9. Enummap

键必须是枚举值,用法和hashmap差不多。

 

10. Collections常用方法

Sort()按照自然顺序排序

sort(List<T> list, Comparator<? super T> c)根据指定比较强排序

synchronized 保证线程安全

Empty    空容器,可以避免空指针异常

Singleton    只包含一个元素的容器

Unmodifiable   不可变的容器

reverse(List<?> list) 反转顺序

 

11.collections和collection的区别

1》  collections为工具类,collection为单列集合

2》  collections为collection中的list提供了大量的排序方法

3》  collections为collection提供了同步机制,保证线程安全等

以上是关于基础篇之集合总结的主要内容,如果未能解决你的问题,请参考以下文章

Android基础&进阶

Java 基础篇之集合

Java 基础篇之泛型

位操作基础篇之位操作全面总结

基础总结篇之九:Intent应用详解

基础总结篇之二:Activity的四种launchMode