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的使用的更多相关文章

  1. mapreduce中一个map多个输入路径

    package duogemap; import java.io.IOException; import java.util.ArrayList; import java.util.List; imp ...

  2. .NET Core中间件的注册和管道的构建(3) ---- 使用Map/MapWhen扩展方法

    .NET Core中间件的注册和管道的构建(3) ---- 使用Map/MapWhen扩展方法 0x00 为什么需要Map(MapWhen)扩展 如果业务逻辑比较简单的话,一条主管道就够了,确实用不到 ...

  3. Java基础Map接口+Collections工具类

    1.Map中我们主要讲两个接口 HashMap  与   LinkedHashMap (1)其中LinkedHashMap是有序的  怎么存怎么取出来 我们讲一下Map的增删改查功能: /* * Ma ...

  4. Java基础Map接口+Collections

    1.Map中我们主要讲两个接口 HashMap  与   LinkedHashMap (1)其中LinkedHashMap是有序的  怎么存怎么取出来 我们讲一下Map的增删改查功能: /* * Ma ...

  5. 多用多学之Java中的Set,List,Map

            很长时间以来一直代码中用的比较多的数据列表主要是List,而且都是ArrayList,感觉有这个玩意就够了.ArrayList是用于实现动态数组的包装工具类,这样写代码的时候就可以拉进 ...

  6. Java版本:识别Json字符串并分隔成Map集合

    前言: 最近又看了点Java的知识,于是想着把CYQ.Data V5迁移到Java版本. 过程发现坑很多,理论上看大部分很相似,实践上代码写起来发现大部分都要重新思考方案. 遇到的C#转Java的一些 ...

  7. MapReduce剖析笔记之八: Map输出数据的处理类MapOutputBuffer分析

    在上一节我们分析了Child子进程启动,处理Map.Reduce任务的主要过程,但对于一些细节没有分析,这一节主要对MapOutputBuffer这个关键类进行分析. MapOutputBuffer顾 ...

  8. MapReduce剖析笔记之七:Child子进程处理Map和Reduce任务的主要流程

    在上一节我们分析了TaskTracker如何对JobTracker分配过来的任务进行初始化,并创建各类JVM启动所需的信息,最终创建JVM的整个过程,本节我们继续来看,JVM启动后,执行的是Child ...

  9. MapReduce剖析笔记之五:Map与Reduce任务分配过程

    在上一节分析了TaskTracker和JobTracker之间通过周期的心跳消息获取任务分配结果的过程.中间留了一个问题,就是任务到底是怎么分配的.任务的分配自然是由JobTracker做出来的,具体 ...

  10. MapReduce剖析笔记之三:Job的Map/Reduce Task初始化

    上一节分析了Job由JobClient提交到JobTracker的流程,利用RPC机制,JobTracker接收到Job ID和Job所在HDFS的目录,够早了JobInProgress对象,丢入队列 ...

随机推荐

  1. .c 文件取为.o文件

    $(xxx:%.c=%.o) 即可 例子: $(ALLFILES:%.c=%.o)

  2. Delphi调用WINAPI时到底应该是指针还是结构体(注意是Delphi变量本身就是指针)

    看MSDN,GetWindowRect的说明如下: BOOL WINAPI GetWindowRect( _In_  HWND   hWnd, _Out_ LPRECT lpRect // 注意,没* ...

  3. 图论(2-sat):HDU 4421 Bit Magic

    Bit Magic Time Limit: 4000/2000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total S ...

  4. 数据结构(左偏树,可并堆):BNUOJ 3943 Safe Travel

    Safe Travel Time Limit: 3000ms Memory Limit: 65536KB 64-bit integer IO format: %lld      Java class ...

  5. i++和++i的老问题

    对于++j,该式是指先将j的值自加1,然后再取j的值.自增过后参与计算 i的值也为10:对于i++,该表达式是指先取i的值做运算,再将i加1.参见过计算后再自增

  6. 从JavaScript的移位运算看数字在计算机内部的编码——补码

    偶然看到一个JavaScript的题目: js中13>>2=?      -13>>2=? 在浏览器中很容易测试出答案分别是 3 和 -4. 13>>2 = 3 很 ...

  7. 暴力求解——POJ 3134Power Calculus

    Description Starting with x and repeatedly multiplying by x, we can compute x31 with thirty multipli ...

  8. hdu 2795 线段树

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2795 #include <cstdio> #include <cmath> # ...

  9. Jenkins 十二: 集成 selenium 测试

    我的selenium采用的是python版本. 其实 selenium java版本也类似. 1. 在jenkins里面新建selenium 测试项目. 源码管理采用 “Subversion”,输入 ...

  10. qconf 介绍

    转载自:http://www.tuicool.com/articles/BJfiMbr 360 如何用 QConf 搞定 2W+ 服务器的配置管理 时间 2015-06-29 09:27:47 佚名 ...