您的位置:首页 > 其它

集合(3) Map集合,工具类

2015-07-09 23:10 169 查看

Map: 双列集合,一次存一对,键值对。要保证键的唯一性。

键相同,会出现值覆盖。

获取方法:

map集合没有迭代器,但是可以将map集合转成set集合,再使用迭代器。

map.keySet();

map.entrySet();

map.values(): //只能获取值

Collection values=map.values();

Map.Entry: 其实就是一个Map接口中的内部接口 // 静态的接口

Set<<Map.Entry<String,String>> entrySet=map.entrySet();\

Map.Entry<String,String> me =it.next();

String value = me .getValue ;

Strin key=me.getKey();

****map的子类**

Hashtable:哈希表,是同步的,不允许null键,null值.

HashMap:哈希表,是不同步的,允许null键,null值。

TreeMap:二叉树,不同步的,可以对map集合中的键值进行排序。

**********工具类 collections **********************

Collections: 定义的都是操作Collection的静态方法。

1,对list排序

sort(list);

// 排序方法上泛型的由来

class Student implements Comparable<Person>

{

public int compareTo(Person p)

{ }

}

public static <T extends Comparable<? super T>> void sort(List<T> list)

{ }

public static void sort(List<Student> list)

{ stu1.compareTo(stu2) }

2,逆序

reversOrder

3, max min

4, 二分查找

5,将非同步集合合转成同步集合

同步集合 synchronized集合(非同步集合);

coll1=Collections.synchronizedCollection(coll);

************Arrays***********

Arrays:用来操作数组的工具类,方法都是静态的

数组转成集合:

数组转成list集合,就是为了使用集合的方法操作数组中的元素

不能使用集合中的增删方法,数组不能改变长度。

List<String> list = Arrays.asList(strs);

如果数组中都是引用数据类型,转成集合中时,数组元素直接作为集合元素。

如果数组中都是基本数据类型,会将数组对象作为集合中的元素。

集合转成数组: toArray

传入的数组长度,如果小于集合长度,方法中会创建一个新的长度和集合长度一致的数组。

如果传入的数组长度大于等于集合长度,会使用传入的数组。所以建议长度定义为集合的size()

为什么把集合转成数组:

就是为了限定对元素的操作,比如增删。

可变参数:

可变参数需要注意,只能定义在参数列表的最后

静态导入:

import static java.util.Collections.*;

sort(list);

简写
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: