JAVA常用的集合类
package com.xian.test;
import java.util.ArrayList;
import java.util.Enumeration;
import java.util.HashMap;
import java.util.HashSet;
import java.util.Hashtable;
import java.util.Iterator;
import java.util.List;
import java.util.Set;
import java.util.TreeSet;
public class JavaList {
public static void main(String[] args) throws Exception {
//getList();
getHash();
getSet();
}
/**
* arrayList随机存取效率高,线程不安全,可重复,根据下标可取值 源码中构造参数为10,初始容量10,每次增长50%
* 添加数据到 前面或中间效率低,linkedList链表按顺序访问,前面或中间 添加删除数据时 较快。
* Vector线程安全。
* @author 贾小仙
* @serialData 2015-4-16 10:37
*/
public static void getList(){
List arrayList=new ArrayList();
arrayList.add("贾小仙");
arrayList.add("小清");
System.out.println(arrayList.get(0)+" | | "+arrayList.get(1));
arrayList.add(0, "Fuck you");
arrayList.set(1, "我名字消失了");
System.out.println(arrayList.get(0)+" | | "+arrayList.get(1)+" | | "+arrayList.get(2));
System.out.println(arrayList.contains("小清"));//判断是否存在
}
/**
* hashMap线程不安全, 允许key和value为null, 无序存放。containsKey ,containsValue, Iterator 迭代。
* hashTable线程安全,不允许key和value为null,无序存放,contains,containsKey ,containsValue, Enumeration迭代。
*(synchronized)
* @throws Exception
* @author 贾小仙
*/
public static void getHash() throws Exception {
HashMap map=new HashMap();
map.put("you", "小清");
map.put("me", "贾小仙");
System.out.println(map.get("you")+" | | "+map.get("me"));
if(map.put("me", "error")!=null)
System.out.println("不允许重复");
//throw new Exception("不允许重复");
map.put("null", "null");
System.out.println(map.get("null"));
if(map.containsKey("me"))
System.out.println("me的key是存在。");
Set set=map.entrySet(); //iterator迭代必须是set所以返回给set然后迭代。
Iterator iter=set.iterator();
while(iter.hasNext()){
System.out.println("iterator迭代 : "+iter.next());
}
Hashtable table=new Hashtable();
table.put("you", "小清");
table.put("me", "贾小仙");
table.put("null", "null");//字符串的null是可以的.这个null就会出现nullpointException
Enumeration e=table.elements();
while(e.hasMoreElements()){ //可以看出来 是无序的。
Object next=e.nextElement();
System.out.println("迭代的参数: "+next);
}
}
/**
* set集合有一个特色。就是set里面的不重复。所以可以用set来做一些去重的操作。很方便。
* set迭代使用iterator
* hashSet无序的存放, TreeSet有序的存放。
*/
public static void getSet(){
Set set=new HashSet();
set.add("贾小仙");
set.add("小清");
if(set.add("小清"))
System.out.println("不可以重复哦。");
TreeSet treeSet=new TreeSet();
treeSet.add("me");
treeSet.add("you");
Iterator iter=treeSet.iterator();
while(iter.hasNext()) //有序的
System.out.println("treeSet的Iterator迭代 "+iter.next());
}
}
JAVA常用的集合类的更多相关文章
- Java常用的集合类(转)
继上一篇文章http://www.cnblogs.com/EasonJim/p/6937690.html中介绍的集合类有非常多,但是在实际使用中,最常用的应该是下面这几种: Java的集合框架分为Li ...
- Java中最常用的集合类框架之 HashMap
一.HashMap的概述 HashMap可以说是Java中最常用的集合类框架之一,是Java语言中非常典型的数据结构. HashMap是基于哈希表的Map接口实现的,此实现提供所有可选的映射 ...
- 第一章 Java常用集合类总览
1.Java最常用的集合类 Collection接口 List接口(允许有重复元素):ArrayList.LinkedList.Vector.Stack Set接口(不允许有重复元素,可用于去重操作) ...
- [转]Java五个最常用的集合类之间的区别和联系
Map<String, ?>只能是只读模式,不能增加,因为增加的时候不知道该写入什么类型的值:Map<String, Object>可以读和写,只要是所有Object类的子类都 ...
- JAVA常用数据结构及原理分析
JAVA常用数据结构及原理分析 http://www.2cto.com/kf/201506/412305.html 前不久面试官让我说一下怎么理解java数据结构框架,之前也看过部分源码,balaba ...
- JAVA常用知识点及面试题总结
1. String.StringBuffer.StringBuilder三者区别? (1)三者在执行速率上的比较: String<StringBuffer<StringBuilder 原因 ...
- (6)Java数据结构-- 转:JAVA常用数据结构及原理分析
JAVA常用数据结构及原理分析 http://www.2cto.com/kf/201506/412305.html 前不久面试官让我说一下怎么理解java数据结构框架,之前也看过部分源码,balab ...
- java中的集合类总结
在使用Java的时候,我们都会遇到使用集合(Collection)的时候,但是Java API提供了多种集合的实现,我在使用和面试的时候频 频遇到这样的“抉择” . :)(主要还是面试的时候) 久而久 ...
- Java常用面试题总结
1.多线程实现方式 2.cookie和session区别 3.数据加密 4.接口并发 5.常用的集合类 6.遍历集合方式 7.接口和抽象类 8.#和$区别 9.防止sql注入 10.springMvc ...
随机推荐
- SSM(三)Mybatis动态SQL
1.查询语句,where: <resultMap id="xxx" type="xx..Student" autoMapping="false& ...
- .NET Core IdentityServer4实战 第Ⅴ章-单点登录
OiDc可以说是OAuth的改造版,在最初的OAuth中,我们需要先请求一下认证服务器获取下Access_token,然后根据Access_token去Get资源服务器, 况且OAuth1 和 2 完 ...
- Thinkphp5.0之异常处理
1.默认异常处理在调试模式下,系统默认展示的错误页面:请输入图片描述 异常处理接管 1.修改config.php 'app_debug' => false,2.在配置文件里添加如下代码 // 异 ...
- Sublime Text 3 安装 BracketHighlighter
1 概述 由于最近在Sublime Text 3安装 BracketHighlighter遇到不少问题,其中踩了不少坑,因此总结下来,形成博客,希望能帮助更多的人 2 电脑环境 windows 10 ...
- 未能加载文件或程序集“Seagull.BarTender.Print, Version=11.0.8.1, Culture=neutral, PublicKeyToken=109ff779a1b4cbc7
这2天项目上需要使用BarTender打印软件,使用BarTender的库的时候时候发现一个特别的问题: 未能加载文件或程序集“Seagull.BarTender.Print, Version=11. ...
- RedisCrawlSpider
这个RedisCrawlSpider类爬虫继承了RedisCrawlSpider,能够支持分布式的抓取.因为采用的是crawlSpider,所以需要遵守Rule规则,以及callback不能写pars ...
- springboot自动装配(1)---@SpringBootApplication注解怎么自动装配各种组件
1.对于springboot个人认为它就是整合了各种组件,然后提供对应的自动装配和启动器(starter) 2.@SpringBootApplication注解其实就是组合注解,通过它找到自动装配的注 ...
- 深度总结eMMC发展史 ICMAX值得更好地期待
随着大数据.云计算.物联网等产业的发展,信息存储安全一旦受到威胁,将危害到政军.石油.化工.核能.金融等所有行业的安全.存储芯片又被称为电子产品的“粮食”,占产品成本的二成左右,尽管中国是全球最大的手 ...
- linux应用程序设计--GDB调试
GDB简介:GDB是GNU发布的一款功能强大的程序调试工具,GDB主要完成下面三个方面功能: 一.GDB的使用操作 1.启动被调试程序. 2.让被调试的程序在指定的位置停住. 3.当程序被停住时,可以 ...
- 第三章.定制专属的kali
1.更新升级 • apt-get update • apt-get upgrade • apt-get dis-upgrade 2.根据个人喜好需求安装软件包 • 库 • Apt-get命令 • ...