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对象,丢入队列 ...
随机推荐
- 设置android状态栏颜色和toolbar颜色一致
使用:https://github.com/jgilfelt/SystemBarTint在Activity中:@Overrideprotected void onCreate(Bundle saved ...
- hdu 5147 Sequence II
http://acm.hdu.edu.cn/showproblem.php?pid=5147 题意:问有多少个这样的四元组(a,b,c,d),满足条件是 1<=a<b<c<d; ...
- 【POJ】3283 Card Hands
字典树. #include <iostream> #include <cstdio> #include <cstring> #include <string& ...
- libc.so.6 误删后修复
libc.so.6 误删后修复 libc.so.6 被删除了(libc.so.6只是个链接,真实的lib 文件是 libc-2.15.so) su, sudo,ls, cp, mv 等等一系列命令都 ...
- 【转】Android Recovery模式
原文网址:http://leox.iteye.com/blog/975303 (muddogxp 原创,转载请注明) Recovery简介 Android利用Recovery模式,进行恢复出厂设置,O ...
- Java---实现运行任意目录下class中加了@MyTest的空参方法(实现图形界面)
说明: 因为上个代码,总是要输入完整的绝对路径,比较麻烦,于是,就写了这个小程序,直接进入文件对话框选择需要运行的class文件. 只需要提前输入完整的类名. 注意:加的MyTest必须打个包,加上: ...
- [Locked] Maximum Size Subarray Sum Equals k
Example 1: Given nums = [1, -1, 5, -2, 3], k = 3,return 4. (because the subarray [1, -1, 5, -2] sums ...
- 算法对比:Prim算法与Dijskra算法
在图论中,求MST的Prim算法和求最短路的Dijskra算法非常像.可是我一直都对这两个算法处于要懂不懂的状态,现在,就来总结一下这两个算法. 最小生成树(MST)—Prim算法: 算法步骤: •将 ...
- javaweb笔记5之请求编码问题
post提交: 设置实体内容的编码:request.setCharacterEncoding("utf-8"); 注意:一定要在获取所有参数之前设置,否则设置无效! get方式提交 ...
- Hibernate四 批量处理
Hibernate批量处理一 批量插入将很多条记录插入数据库时,Hibernate通常会采用以下做法:public void test() { for(int i=0;i<1000;i++){ ...