ArrayList与HashMap

list与map都是两个接口:
Collection(接口)->List(接口)->ArrayList(类)
Map(接口)->HashMap(类)

list是有序存储,而ArrayList就是它的一个实现类,用数组实现的list;
map是根据一个对象查找另外一个对象,即根据关键字查找对象,HashMap就是其中一个实现类,它是利用哈希表实现的map,就是利用对象的hashcode(hashcode()是Object的方法)进行快速散列查找。

ArrayList:动态存储多个对象,集合的长度随着集合中的对象的个数而变化。
HashMap:存储一对对象(key-value)。通过key来查找value。

ArrayList的创建:创建一个String类集合:

ArrayList list2 = new ArrayList();

ArrayList常用方法:

add() 添加元素;
get() 根据索引获取对应的值 索引是从 0 开始的;
remove(); 根据索引删除指定的值 删除之后,后面的元素会上位;
isEmpty() 判断是否为空;
indexOf() 根据指定的对象返回该对象在集合中首次出现的索引,如果没有就返回 -1;
set(int index, E element) 用指定的元素替代此列表中指定位置上的元素;
size() 获取集合的长度;
toArray() 把集合转化成数组;
toString 把数组转化成字符串 ;

HashMap的创建:通过String类的key查找String的value:

HashMap<String,String> hm=new HashMap<String,String>();

HashMap的常用的基本方法:

put() 往集合添加数据/添加一对key-value,例如:put(String key , String value);
size() 返回键值对的个数;
get(key) 返回指定键所映射的值,根据key,返回相应的value;
isEmpty() 判断集合是否有键值对,没有的话就是 true,否则就是 false;
containsKey(key) 判断是否包含指定的键;
containsValue(value) 判断是否包含 指定的值;
clear() 清空集合中所有的键值对;
remove(key) 删除某个键值;

ArrayList的遍历:

ArrayList array = new ArrayList();
array.add("1");
array.add("2");
array.add("3");

//遍历方法一:通过迭代器Iterator进行遍历 
Iterator iter = array.iterator();  
while(iter.hasNext()){  
    String number = (String)iter.next();  
    System.out.println(number); 
}
//遍历方法二:使用for循环遍历
for(int i=0;i<array.size();i++){  
    System.out.println(array.get(i));  
}  

HashMap的遍历:

HashMap hashMap = new HashMap();
hashMap.put("number1", "一");
hashMap.put("number2", "二");
hashMap.put("number3", "三");

//遍历方法一:hashMap.entrySet()方法,通过迭代器Iterator进行遍历效率高
Iterator iter1 = hashMap.entrySet().iterator();  
while(iter1.hasNext()){  
    Map.Entry number = (Map.Entry)iter1.next();  
    String Key = (String)number.getKey();  
    String Value = (String)number.getValue();  
    System.out.println(Key + "'是" + Value);
}
 
//遍历方法二:hashMap.keySet()方法,通过迭代器Iterator进行遍历效率低
Iterator iter2 = hashMap.keySet().iterator();
while (iter2.hasNext()) {
    Object key = iter.next();
    Object val = hashMap.get(key);
}
 
//遍历方法三:foreach方法来遍历keyset,和第二种没有什么区别
Set keySet = hashMap.keySet();
for(Object key: keySet) {
    System.out.print("key=" + key + ",value=" + hashMap.get(key) );
}
  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值