关于collection常用的方法,下面这个链接okk:
https://www.cnblogs.com/xiaostudy/p/9502409.html
Collection是一个容器,是一个顶层容器,她有三个的下家List,set,queue;
所以创建的时候,应该是如下这样创建:
Collection coll=new Vector();
简单总结一下常用方法:
(1)add:就是一般的add;
(2)addAll
(3).clear:清空集合中所有元素;
(4).contains(Object o),就是一般是否包含一个元素,存在返回true,不存在返回false;
(5).containAll(Collection<?> c):是否包含另一集合中所有元素,若包含返回true,否则返回false;
(6).equals(Object o):重写了equals方法,所以比较的是里面元素是否相等,如果不相等,返回false;
(7).hashCode:返回Collection的哈希码值;
(8).isEmpty:是否包含有元素,存在返回true,不存在返回false;
(9).iterator:返回在Collection集合的元素上进行迭代的迭代器;
注意:迭代过程中不能使用集合里的添加,删除等方法修改集合,否则会报错;
如果想操作集合,只能使用迭代器里面的方法:
(10).removeAll(Collection<?> c):在本集合中删除集合c中含有的元素(注意和clear的区别,clear是清除本集合中所有元素)
(11)retainAll(Collection<?> c):在本集合中仅保留集合c中有的元素,其余全剔除。如果集合C与本集合没有相同的元素,则本集合返回空。
(12)size(),返回集合长度;
(13).toArry(),将该集合以数组的形式返回,注意他是返回一个Object类型的数组,在之后的数据操作都是针对object类型的;
.toArry(T[ ] a):返回一个既定类型(我们需要的类型)的数组,如下图所示:
map集合的特点:
(1)map集合是一个双列集合,一个元素包含两个值(key&value);
(2)map集合中的元素,key和value可以相同也可以不同;
(3)map集合中的元素,key不允许重复,value可以重发;
(4)map中的元素,key和value一一对应;
HashMap<k,v>集合implements Map<k,v>
HashMap集合特点:
1:HashMap底层是哈希表,查询的速度特别快;
Jdk1.8之前:数组+单向链表
Jdk1.8之后:数组+单向链表/红黑树(链表的长度超过8):提高查询的速度
2:hashMap是一个无序的集合,存储元素和取出元素的顺序可能不一样
LinkedHashMap的特点:
1:LinekedHashMap集合底层是哈希表+链表
2:LinkedHashMap集合是一个有序的集合,存储元素和取出元素顺序是一致的
Map常用的函数:
1:put<k,v>:把指定的键与指定的值添加到Map集合中。返回值value:若map中没有该键,则返回null;若key与Map已有的key重复,则使用新的value值覆盖掉原来的,返回被替换的value值。
2.remove(key),把指定键的键值对移除,若存在指定键,返回被删除的value值。若不存在,返回Null。
.remove(key,value):删除成功返回true,失败返回false;
3.get(key),按照key值,获取对应的value值。若存在这样的键值对,返回value值,若不存在返回null;
4.containsKey(key),包含关系:判断集合中是否包含指定的键。包含返回true,不包含返回false;
.containsValue(value),查找是否存在指定的Value值,如果不存在返回true,存在返回true。
5.KetSet:获取Map集合中所有的键,存储到Set集合中,返回一个Set集合。
6.entrySet():获取到Map集合中所有的键值对对象的集合(Set集合);
public static void main(String args[]) {
Map<String,Integer> test=new HashMap<String,Integer>();
test.put("1",1);
test.put("2",2);
test.put("3",3);
test.put("4",4);
test.put("5",5);
System.out.println(test);
Set<Map.Entry<String, Integer>> set=test.entrySet();
System.out.println(set.toString());
}
输出:
{1=1, 2=2, 3=3, 4=4, 5=5}
[1=1, 2=2, 3=3, 4=4, 5=5]