List、Set、Map的使用

1.List(接口)

  List接口的特点:

  a.List接口可以存放任意数据,且在接口中,数据可以重复。

  b.List中提供了高效的插入和移除多个元素的方法。

  List常用的子类

  a.ArrayList

  b.Vector

  Arraylist代码实例演示:

  

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

/**
 * Created by Pres_cheng on 2016/9/4.
 */
public class UsingArrayList {
    public static void main(String[] args) {
        List<String> list = new ArrayList<>();
        list.add("a");
        list.add("b");
        list.add("c");
        for (int i = 0; i < list.size(); i++)
            System.out.println(list.get(i));
        System.out.println("------------");

        list.add("a");
        for (int i = 0; i < list.size(); i++)
            System.out.println(list.get(i));
        System.out.println("------------");

        list.remove(0);
        for (int i = 0; i < list.size(); i++)
            System.out.println(list.get(i));
        System.out.println("------------");

        System.out.println("[0]:"+list.get(0));
        System.out.println("[1]:"+list.get(1));
    }
}

  Vector代码实例演示:

 

import java.util.List;
import java.util.Vector;

/**
 * Created by Pres_cheng on 2016/9/4.
 */
public class UsingVector {
    public static void main(String args[]){
        List<String> list = new Vector<>();
        list.add("a");
        list.add("b");
        list.add("c");
        for (int i = 0; i < list.size(); i++)
            System.out.println(list.get(i));
        System.out.println("------------");

        list.add("a");
        for (int i = 0; i < list.size(); i++)
            System.out.println(list.get(i));
        System.out.println("------------");

        list.remove(0);
        for (int i = 0; i < list.size(); i++)
            System.out.println(list.get(i));
        System.out.println("------------");

        System.out.println("[0]:"+list.get(0));
        System.out.println("[1]:"+list.get(1));
    }
}

从上述代码可以看出ArrayList和Vector非常相似,那他们的区别是什么呢?

Vector是JDK1.0以后推出的,性能较低,用于同步处理数据,但线程相对安全。

ArrayList是JDK1.2以后推出的,性能高,用于异步处理数据,但线程相对不安全。

2.Set(接口)

  Set接口的特点:Set接口可以存放任意数据,数据不可重复。

  Set接口常用的子类

  a.HashSet : HashSet中存储数据是无序的

  b.TreeSet : TreeSet中存储数据是按ASCII码表的顺序排列的

3.Map(接口)

  Map接口的特点

  a.Map接口存放数据的形式是以键值对的形式存放如:

  key-->value

  "name'-->"pres_cheng"

  "age"-->"23"

  键(key)的类型要一致,值(value)的类型也要一致。

  Iterator(迭代器)的使用

  Iterator自带常用方法:

  a.hasNext

  b.next

  c.remove

  代码实例演示:

  

import java.util.*;

/**
 * Created by Pres_cheng on 2016/9/4.
 */
public class UsingMap {
    public static void main(String[] args) {
        Map<String, String> maps = new HashMap<>();
        maps.put("name", "pres_cheng");
        maps.put("age", "23");
        System.out.println(maps);
        System.out.println("size:" + maps.size());
        Set<String> set = maps.keySet();
        System.out.println("key:" + set);
        Collection<String> collection = maps.values();
        System.out.println("value:" + collection);

        System.out.println("- - - - - - - -");

        //迭代器输出方法
        Iterator<String> iterator = set.iterator();
        while (iterator.hasNext()) {
            System.out.println("key:" + iterator.next());
        }

        Iterator<String> iterator1 = collection.iterator();
        while (iterator1.hasNext()) {
            System.out.println("value:" + iterator1.next());
        }
    }
}

  

  

  

原文地址:https://www.cnblogs.com/prescheng/p/5838763.html