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的使用的更多相关文章
- mapreduce中一个map多个输入路径
package duogemap; import java.io.IOException; import java.util.ArrayList; import java.util.List; imp ...
- .NET Core中间件的注册和管道的构建(3) ---- 使用Map/MapWhen扩展方法
.NET Core中间件的注册和管道的构建(3) ---- 使用Map/MapWhen扩展方法 0x00 为什么需要Map(MapWhen)扩展 如果业务逻辑比较简单的话,一条主管道就够了,确实用不到 ...
- Java基础Map接口+Collections工具类
1.Map中我们主要讲两个接口 HashMap 与 LinkedHashMap (1)其中LinkedHashMap是有序的 怎么存怎么取出来 我们讲一下Map的增删改查功能: /* * Ma ...
- Java基础Map接口+Collections
1.Map中我们主要讲两个接口 HashMap 与 LinkedHashMap (1)其中LinkedHashMap是有序的 怎么存怎么取出来 我们讲一下Map的增删改查功能: /* * Ma ...
- 多用多学之Java中的Set,List,Map
很长时间以来一直代码中用的比较多的数据列表主要是List,而且都是ArrayList,感觉有这个玩意就够了.ArrayList是用于实现动态数组的包装工具类,这样写代码的时候就可以拉进 ...
- Java版本:识别Json字符串并分隔成Map集合
前言: 最近又看了点Java的知识,于是想着把CYQ.Data V5迁移到Java版本. 过程发现坑很多,理论上看大部分很相似,实践上代码写起来发现大部分都要重新思考方案. 遇到的C#转Java的一些 ...
- MapReduce剖析笔记之八: Map输出数据的处理类MapOutputBuffer分析
在上一节我们分析了Child子进程启动,处理Map.Reduce任务的主要过程,但对于一些细节没有分析,这一节主要对MapOutputBuffer这个关键类进行分析. MapOutputBuffer顾 ...
- MapReduce剖析笔记之七:Child子进程处理Map和Reduce任务的主要流程
在上一节我们分析了TaskTracker如何对JobTracker分配过来的任务进行初始化,并创建各类JVM启动所需的信息,最终创建JVM的整个过程,本节我们继续来看,JVM启动后,执行的是Child ...
- MapReduce剖析笔记之五:Map与Reduce任务分配过程
在上一节分析了TaskTracker和JobTracker之间通过周期的心跳消息获取任务分配结果的过程.中间留了一个问题,就是任务到底是怎么分配的.任务的分配自然是由JobTracker做出来的,具体 ...
- MapReduce剖析笔记之三:Job的Map/Reduce Task初始化
上一节分析了Job由JobClient提交到JobTracker的流程,利用RPC机制,JobTracker接收到Job ID和Job所在HDFS的目录,够早了JobInProgress对象,丢入队列 ...
随机推荐
- Spring MVC 教程,快速入门,深入分析(转载)
作者:赵磊 博客:http://elf8848.iteye.com 下载: Spring的官方下载网址是:http://www.springsource.org/download (本文使用是的 ...
- JQuery 判断IPad、IPhone、Android是横屏还是竖屏(Window.Orientation实现)
在ipad.iphone网页开发中,我们很可能需要判断是横屏或者竖屏.下面就来介绍如何用 jQuery 判断iPad.iPhone.Android是横屏还是竖屏的方法. 代码如下: function ...
- 【HDOJ】2757 Ocean Currents
简单BFS. /* 2757 */ #include <iostream> #include <queue> #include <cstdio> #include ...
- P1894セチの祈り
描述 在 Ninian 的花园里,有许多琼花,环绕着中间的凉亭.有 N 片琼花,组成一个环.Ninian 想在凉亭中发动 [セチの祈り] , 需要划分出三个区域的琼花,为了平均,要最大化面积最小的区域 ...
- -_-#setTimeout与setInterval
你真的了解setTimeout和setInterval吗? 存在一个最小的时钟间隔 有关零秒延迟,此回调将会放到一个能立即执行的时段进行触发.JavaScript 代码大体上是自顶向下执行,但中间穿插 ...
- 【转】java中byte数组与int类型的转换(两种方式)----不错
原文网址:http://blog.csdn.net/piaojun_pj/article/details/5903009 java中byte数组与int类型的转换,在网络编程中这个算法是最基本的算法, ...
- linux下的webserver BOA及CGIC库的使用指南(转帖)
我把网页挂载到nfs 下面的文件中(需要新建一个文件www ),不过这样很方便! 安装过程 ====================================================== ...
- 线性代数(矩阵乘法):POJ 3233 Matrix Power Series
Matrix Power Series Description Given a n × n matrix A and a positive integer k, find the sum S = ...
- SQL中的NULL值
除is [not] null之外,空值不满足任何查找条件.–如果null参与算术运算,则该算术表达式的值为null.–如果null参与比较运算,则结果可视为false.在SQL-92中可看成unkno ...
- workflow4.0学习资料
http://www.cnblogs.com/foundation/archive/2010/04/03/1703809.html 2篇说明: WF4 Bata 2 WF4.0 RC 对比 Beta2 ...