集合(3) Map集合,工具类
来源:互联网 发布:echo linux 写入文件 编辑:程序博客网 时间:2024/04/30 15:47
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);
简写
- 集合(3) Map集合,工具类
- 黑马程序员----集合3(Map、工具类)
- 集合3--Map集合
- Map集合(集合类)
- 集合类 Map集合
- 集合类3-Map
- 集合-----Map (3)
- 10.集合框架(三)【Map】【集合技巧】【工具类Collections】【工具类Arrays】
- Map(接口简介、HashMap集合、TreeMap集合、Properties、泛型、Collections工具类、Arrays工具类)
- 黑马程序员-集合类Map、集合工具类
- java 集合架构--[Collection] [List] [Set] [Map] [集合工具类]
- 程序员_Java基础之<八>-Map集合、集合工具类
- java 集合架构--[Collection] [List] [Set] [Map] [集合工具类]
- 黑马程序员--Map集合、集合框架工具类
- 黑马程序员——集合框架-Map、集合工具类
- 黑马程序员---------泛型、Map集合、集合框架工具类
- java 集合架构--[Collection] [List] [Set] [Map] [集合工具类]
- 黑马程序员---------Map集合和一些集合工具类
- hdu 4781 Assignment For Princess
- SuperRecyclerView——使RecyclerView更加容易使用的Android类库
- 7-9工作日志
- KMP与扩展KMP
- 一致性hash算法-php-redis版本
- 集合(3) Map集合,工具类
- C++这个名字
- 设计模式学习--桥接模式
- 2015070904 - 阅读后的书籍有着落了
- leetCode 40.Combination Sum II(组合总和II) 解题思路和方法
- 1985年公布的C++语言1.0版的内容中又添加了一些重要特征
- API其他函数 ,system date,..
- 弱引用NSTimer对象
- Java.Lang.NoSuchMethod 错误