java集合框架提供了一套性能优良、使用方便的接口和类,它们位于java.util包中
collection接口存储一组不唯一,无序的对象
list 接口存储一组不唯一,有序(插入顺序)的对象
set 接口存储一组唯一,无序的对象
ArrayList实现长度可变的数组,在内存中分配连续的空间.遍历元素和随机访问元素的效率比较高
LinkedList采用链表存储方式.插入删除元素时效率比较高
Vector 和 ArrayLis 的异同
实现原理、功能相同、可以互用
主要区别
vector线程安全,ArrayList 重速度轻安全线程非安全
长度需增长时,vector默认增长一倍ArrayList增长50%
Hshtable 和 HashMap的异同
实现原理、功能相同、可以互用
主要区别
Hashtable 继承 Dictionary 类 Hashtable实现Map接口
Hashtable 线程安全,Hashmap线程非安全
Hashtable不允许有null值,Hashtable 允许null值
在实际开发中最好使用ArrayList 和Hashmap
Collections工具类
java.util.Collections
sort()(排序)方法
Map coutries=new HashMap();
添加 put(Object key键名,Object value值)
coutries.put("","");
通过key获得值
String conter=(String)coutries.get("填写key值");
显示集合中的个数
coutries.size();
判断是否存在键名 (返回一个bool值)
Boolean bool=coutries.containsKeys("键名")
判断是否存在值 (返回一个bool值)
Boolean bool=coutries.containsValue("值")
删除集合对象
coutries.remove("键名");
键集
coutries.keySet();
值集
coutries.values();
键值对集合
coutries;
foreach遍历
for(Object obj:coutries.keySet()){
String keys=(String)obj;
System.out.println("键值集合"+keys);
}
遍历velues值只需把键值换成velues值
清空HashMap判断
coutries.clear();
if(coutries.isEmpty()){
System.out.println("全部清空")
}
使用迭代器遍历
(集合名)获得键值
Set keys=dogMap.keySet();
获得Iteraotr对象
Iteraotr it = keys.Iteraotr();
While(it.hasNext()){
String key=(String)it.hasNext(); 获得键名
System.out.Print(key) 输出键名
Dog dog=(Dog)dogMap.get(key);
}
迭代器只用于单列集合 双列集合要想使用迭代器 先把双列集合装换成单例集合
package map; import java.util.HashMap; import java.util.Iterator; import java.util.Map; import java.util.Map.Entry; import java.util.Set; /** * hehe */ public class Mymain { public static void main(String[] args) { Map<String, String> list = new HashMap<String, String>(); list.put("1", "10"); list.put("2", "20"); list.put("3", "30"); Set<String> key1 = list.keySet(); for (String key : list.keySet()) { System.out.println(list.get(key)); } System.out.println("=========================================="); Set<Entry<String, String>> enSet = list.entrySet(); for (Entry<String, String> entry : enSet) { System.out.println(entry.getKey()); } System.out.println("==========================================="); Iterator<String> keyIterator = key1.iterator(); while (keyIterator.hasNext()) { String key = keyIterator.next(); System.out.println(key); System.out.println(list.get(key)); } System.out .println("-------------------------------------------------------------"); Iterator<Entry<String, String>> enSet1 = list.entrySet().iterator(); while (enSet1.hasNext()) { Entry<String, String> nextEntry = enSet1.next(); System.out.println(nextEntry.getKey()); System.out.println(nextEntry.getValue()); } } }