list和set、map的差别迭代器读取数据

package collectiondemo;

import java.util.ArrayList;
import java.util.LinkedList;
import java.util.List;

public class TestIt {

    public static void main(String[] args) {
        // TODO 自动生成的方法存根
        //常见的集合(线性的集合)
        //List接口就是线性存储的接口,并且是有序的
        //实现线性的存储的接口的继承类:ArrayList,LinkedList,Vetor
        //ArrayList是类似于数组的存储,可以直接通过索引访问
        List<Integer> list = new ArrayList<Integer>();
        list.add(12);
        list.add(23);
        list.add(34);
        list.add(19);
        list.add(26);
        //LinkedList读取是通过链接点来读取的,读取效率较ArrayList低
        //ArrayList读取数据效率高,但是对于的数据的删除和增加比LinkedList效率低
        list= new LinkedList<Integer>();
        list.add(12);
        list.add(23);
        list.add(34);
        list.add(19);
        list.add(26);
        System.out.println(list.get(2));
        //Vetor的效率介于前两者之间的。它的是线程安全的。
        
    }

}
package collectiondemo;

import java.util.HashMap;
import java.util.HashSet;
import java.util.Iterator;
import java.util.Map;
import java.util.Set;

public class TestIt2 {

    public static void main(String[] args) {
        // TODO 自动生成的方法存根
        //Set和Map的存储方式,两者都是无序的存储(底层都是无序的)
        //非线性存储的是不能通过索引访问
        //无序不是按放进去的顺序读取的,按照hash的算法来排序的
        //是不能存放重复的元素
        Set<Integer> mysets = new HashSet<Integer>();
        mysets.add(12);
        mysets.add(23);
        mysets.add(9);
        mysets.add(15);
        mysets.add(15);
        //访问非线性的需要迭代器
        Iterator<Integer> its = mysets.iterator();
        while(its.hasNext()){
            System.out.println(its.next());
        }
        //map的底层也是set,只是它的键是按照set无序存储的,也是不能重复的
        Map<String,Integer> stumaps = new HashMap<String,Integer>();
        stumaps.put("张三", 12);
        stumaps.put("李四", 22);
        stumaps.put("王五", 32);
        Set<String> keys= stumaps.keySet();
        Iterator<String> keyits = keys.iterator();
        while(keyits.hasNext()){
            String key =keyits.next();
            Object objvalue = stumaps.get(key);//通过键得到值
            System.out.println("键:"+key+",值:"+objvalue);
        }
    }

}

 

posted on 2017-08-07 10:40  天空很蓝啊  阅读(346)  评论(0编辑  收藏  举报

导航