java学习
ciollection 集合
collection集合集合的顶层父级集合
collection 集合有两大接口 set接口 和 list接口
set接口元素无序但元素唯一
list 接口下元素可以重复,每一个元素都存在整数索引
list的遍历方式
(1)
while (iterator.hasNext()){
Object next = iterator.next();
System.out.println(next);
}
(2)for循环
list 有三个实现类 Arraylist linkedlist Vector
Arraylist 类:底层的数据结构是数组,查找快,删除慢,线程不安全,效率高
linkedlist类:底层的数据结构是链表,查找慢,删除快,线程不安全,效率高
Vector类:底层的数据结构是数组,查找快,删除慢,线程安全,效率低
Set接口下有三个实现类 hashSet linkedHashSet TreeSet
set接口遍历的方式
(1)迭代器
while (iterator.hasNext()){
Object next = iterator.next();
System.out.println(next);
}
(2)增强for
新式for循环遍历数组
1,明确容器中的元素是什么数据类型
2.容器的名字
for(容器中的元素的数据类型 当前遍历的元素名 : 容器名)
for(int ele:arr)
System.out.println(ele);
}
hashSet 类:底层结构是哈希表保证元素唯一性,需要重写hashCode方法和equals方法
linkedHashSet l类:元素有序 , 并且唯一,底层数据结构是链表和哈希表,查找慢,增删快,线程不安全
TreeSet类:底层结构是二叉树,可以对元素进行排序,两种排序,一种自然排序,一种比较器排序(compareable接口)
map 集合
map是以键——值对的方式存储数据的集合具有唯一性,指针对键有效,值可以重复
map集合的遍历方式
(1)根据键值获取值
keyStet()和get(Object key)
Set keySet = map.keySet();
for (String key : keySet) {
System.out.println(key+"===="+map.get(key));
}
(2)根据值对象获取键和值
entry这个接口下面的方法
getkey(): 获取值
getValue(): 获取值
//遍历键值对 集合 ,通过键值对 对象 里面的方法取出键和值
for (Map.Entry<String, String> entry : entries) {
String key = entry.getKey();//获取键
String value = entry.getValue();//获取值
System.out.println(key+"====="+value);
}
map有四个实现类Hashmap Hashtable LinkHashMap TreeMap
Hashmap 类: 底层结构是哈希表保证元素唯一,性需要重写hashCode方法和equals方法
Hashtable **** 类:不允许null键和null值 线程安全效率低
LinkHashMap 类:键唯一且有序,链表保证了键有序,哈希表保证了键唯一
shCode方法和equals方法
Hashtable **** 类:不允许null键和null值 线程安全效率低
LinkHashMap 类:键唯一且有序,链表保证了键有序,哈希表保证了键唯一
TreeMap 类: 底层结构是二叉树,可以对元素进行排序,两种排序,一种自然排序,一种比较器排序(compareable接口)