LinkList和map

linklist集合
方法
addFirst()
addLast()
getFirst()
getLast()
removeFirst()
removeLast()
isEmpty()空为true

Vector集合
addElement()等价于arraylist集合的add()
elementAt()..........................................get()
elements().............................................iterator()

hasMoreElements()相当于hasNext()
nextElement()相当于next


Set接口
不可以有重复元素
HashSet()集合

hash表数组和链表的集合
调用add方法自动调用hashcode方法,计算hash值,如果没有,存进去,如果有,利用equals方法进行比较,如果内容相同,舍弃,不同则存进来。

HashSet存储自定义元素
重写equals方法和hashcode方法

LinkedHashSet集合
链表和哈希表的集合(双重链表)
顺序取出

Map接口
HashMap<K,V>;
LinkedHashMap<K,V>;
可以通过键找到对应的值
key不能重复,值可以重复
方法:
get(key):根据key取值
put(key,值):
remove(key);

遍历方法1
获取key的集合
keySet();
keySet()+增强for
keySet()+Iterator
遍历方法2
Entry对象
entrySet();返回Set<Mpa.Entry<K,V>>
对象.getKey();获取key值
对象.getValue();获取value值
entrySet+增强for
entrySet+Iterator

package com.oracle.demo03;

import java.util.Iterator;
import java.util.LinkedHashMap;
import java.util.Map;
import java.util.Set;

public class Demo04 {
public static void main(String[] args) {
Map<String,Integer> map=new LinkedHashMap<String,Integer>();
map.put("a",1);
map.put("b",2);
map.put("c",3);
map.put("a",9);
//    Set<String> str=map.keySet();
//    Iterator<String> it=str.iterator();
//    while(it.hasNext()){
//    String key=it.next();
//    int value=map.get(key);
//    System.out.println(key+" "+value);
//    }
Set<Map.Entry<String,Integer>> set=map.entrySet();
//    for(Map.Entry<String,Integer> entry:set){
//    String key=entry.getKey();
//    int value=entry.getValue();
//    System.out.println(key+" "+value);
//    
//    }
//获取迭代器对象
Iterator<Map.Entry<String,Integer>> it=set.iterator();
while(it.hasNext()){
Map.Entry<String,Integer> entry=it.next();
String key=entry.getKey();
int value=entry.getValue();
System.out.println(key+" "+value);
}
}
}

  

原文地址:https://www.cnblogs.com/zqy6666/p/12256201.html