基础篇之集合(二)总结

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提供了同步机制,保证线程安全等

时间: 2024-10-11 23:08:36

基础篇之集合(二)总结的相关文章

C#基础[10] ArrayList集合(二)【详细介绍】

1.什么是ArrayList ArrayList就是传说中的动态数组,用MSDN中的说法,就是Array的复杂版本,它提供了如下一些好处: 动态的增加和减少元素 实现了ICollection和IList接口 灵活的设置数组的大小 2.如何使用ArrayList 最简单的例子: ArrayList List = new ArrayList(); for( int i=0;i<10;i++ ) //给数组增加10个Int元素 List.Add(i); //..程序做一些处理 List.RemoveA

JavaScript基础篇分享之二

一.运算符的优先级 有括号的先算括号里面的  再乘除 后加减 如果我们需要提升运算符的优先级  一句话:加括号 二.流程控制 顺序结构.分支结构.循环结构! 顺序结构 代码是从上至下一行一行执行并解析! 分支结构 虽然说有多条路可以选择,但是我们在实际中往往只能选择一条路!if语句.switch语句 if语句 单分支.双分支.多分支 单分支: 格式: if(条件表达式){ //语句块 } 说明:如果当条件表达式成立的时候  得到布尔true  就执行语句块 注意:如果单分支小括号后面这一对大括号

基础篇之集合(一)(List)总结

1.  List集合下常用的集合(ArrayList,LinkedList,Vector): JVM垃圾回收GC,Java中采取了可达性分析法,标记所有从根节点开始的可达对象,未被标记的对象就是未被引用,但是没有引用的不一定会被作为垃圾清理,因为有些是可复活对象,这里不作说明,除以上情况以外的会被作为垃圾清理,什么时候开始清理,这个涉及到内存机制,这里不作说明,详情可见垃圾复制算法等. 1)LinkedList:LinkedList底部是基于链表,元素可重复,线程不安全,查询慢,增删快: 原因:

重温JSP/Servlet技术之Jsp基础篇(详解二)

cookie 今天就讲cookie,因为在课堂上我没有听懂,所以,如其说是博客,不如说是我的复习笔记,哈哈 首先先发布一张Cookie原理图 1.什么是 Cookie  “cookie 是存储于访问者的计算机中的变量.每当同一台计算机通过浏览器请求某个页面时,就会发送这个 cookie.你可以使用 Jsp 来创建和取回 cookie 的值.”  cookie 是访问过的网站创建的文件,用于存储浏览信息,例如个人资料信息. 从Jsp的角度看,cookie 就是一些字符串信息.这些信息存放在客户端的

ios基础篇(十二)——UINavgationController的使用(三)ToolBar

UIToolBar存在于UINavigationController导航栏控制器中,而且默认被隐藏:设置UINavigationController的toolbarHidden属性可显示UIToolBar. 一.UIToolBar的设置 1.在RootViewController.m的viewDidLoad方法中添加代码: [self.navigationController setToolbarHidden:NO animated:YES]; 如图:显示底部ToolBar 2.设置UITool

Python成长笔记 - 基础篇 (十二)----RabbitMQ、Redis 、线程queue

本节内容: 1.RabbitMQ 消息队列 2.Redis 3.Mysql PY 中的线程queue(threading Queue):用于多个线程之间进行数据交换,不能在进程间进行通信 进程queue:父进程与子进程中的交互,或者是同属于同一个父进程下多个子进程进行交互:两个不相关的进程间交互不能用进程queue RabbitMQ --信息流是单向的 两个完全独立的程序进行交互:1.进程间建立socket 2.一个写入disk,另一个调用 3.使用中间进程,RabbitMQ等 Remote p

Java 基础篇之集合

List 集合 List 集合中元素有序.可重复,集合中每个元素都有其对应的索引顺序. List 判断两个对象相等,只要通过 equals 方法比较返回 true 即可. 看个例子: public class A { public boolean equals(Object obj) { return true; } } import java.util.ArrayList; import java.util.List; public class ListTest2 { public stati

【Unity|C#】基础篇(19)——集合库(Collections)

[学习资料] <C#图解教程>(第6章):https://www.cnblogs.com/moonache/p/7687551.html 电子书下载:https://pan.baidu.com/s/1mhOmBG0 其他文章 C#集合类型大揭秘(实现原理):https://www.cnblogs.com/songwenjie/p/9185790.html [内容] 非泛型集合 ArrayList Hashtable —————————— SortedList —————————— Queue

oracle(sql)基础篇系列(二)&mdash;&mdash;多表连接查询、子查询、视图

    多表连接查询 内连接(inner join) 目的:将多张表中能通过链接谓词或者链接运算符连接起来的数据查询出来. 等值连接(join...on(...=...)) --选出雇员的名字和雇员所在的部门名字 --(1)必须明确的指出重复字段属于哪个表 select ename,dname dept.deptno from emp,dept where emp.deptno = dept.deptno;   --(2)新语法:join...on(...=...) select ename,