首页 > 代码库 > List、Set、Map的使用

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());        }    }}

 

  

  

  

List、Set、Map的使用