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常用的集合类的更多相关文章

  1. Java常用的集合类(转)

    继上一篇文章http://www.cnblogs.com/EasonJim/p/6937690.html中介绍的集合类有非常多,但是在实际使用中,最常用的应该是下面这几种: Java的集合框架分为Li ...

  2. Java中最常用的集合类框架之 HashMap

    一.HashMap的概述 HashMap可以说是Java中最常用的集合类框架之一,是Java语言中非常典型的数据结构.      HashMap是基于哈希表的Map接口实现的,此实现提供所有可选的映射 ...

  3. 第一章 Java常用集合类总览

    1.Java最常用的集合类 Collection接口 List接口(允许有重复元素):ArrayList.LinkedList.Vector.Stack Set接口(不允许有重复元素,可用于去重操作) ...

  4. [转]Java五个最常用的集合类之间的区别和联系

    Map<String, ?>只能是只读模式,不能增加,因为增加的时候不知道该写入什么类型的值:Map<String, Object>可以读和写,只要是所有Object类的子类都 ...

  5. JAVA常用数据结构及原理分析

    JAVA常用数据结构及原理分析 http://www.2cto.com/kf/201506/412305.html 前不久面试官让我说一下怎么理解java数据结构框架,之前也看过部分源码,balaba ...

  6. JAVA常用知识点及面试题总结

    1. String.StringBuffer.StringBuilder三者区别? (1)三者在执行速率上的比较: String<StringBuffer<StringBuilder 原因 ...

  7. (6)Java数据结构-- 转:JAVA常用数据结构及原理分析

    JAVA常用数据结构及原理分析  http://www.2cto.com/kf/201506/412305.html 前不久面试官让我说一下怎么理解java数据结构框架,之前也看过部分源码,balab ...

  8. java中的集合类总结

    在使用Java的时候,我们都会遇到使用集合(Collection)的时候,但是Java API提供了多种集合的实现,我在使用和面试的时候频 频遇到这样的“抉择” . :)(主要还是面试的时候) 久而久 ...

  9. Java常用面试题总结

    1.多线程实现方式 2.cookie和session区别 3.数据加密 4.接口并发 5.常用的集合类 6.遍历集合方式 7.接口和抽象类 8.#和$区别 9.防止sql注入 10.springMvc ...

随机推荐

  1. 24 | 紧跟时代步伐:微服务模式下API测试要怎么做?

  2. TCP11种状态集之TIME_WAIT

    先看一个实例,上代码: #!/usr/bin/env python3 # _*_ coding:utf- _*_ import socket sk = socket.socket() sk.bind( ...

  3. Python开发【第六篇】: 面向对象

    内容概要 面向对象和面向过程 面向对象三大特征 面向对象的成员 类与类之间的关系 约束 type.issubclass.isinstance self.super.MRO 1. 面向对象和面向过程 0 ...

  4. CSS3常用选择器

    一.基本选择器 子元素选择器 概念:子元素选择器只能选择某元素的子元素语法格式:父元素 > 子元素 (Father > Children)兼容性:IE8+.FireFox.Chrome.S ...

  5. JAVA UUID 生成唯一密钥(可随机选择长度)

    /**     * 获得指定数目的UUID      * @param number int 需要获得的UUID数量      * @return String[] UUID数组      */    ...

  6. kafka源码分析(一)server启动分析

    1 启动入口Kafka.scala Kafka的启动入口是Kafka.scala的main()函数: def main(args: Array[String]): Unit = { try { //通 ...

  7. ORM的查询

    基于对象的跨表查询(sql里的子查询)(重点) 一对多查询: Book(有外键)--------------->Publish     属于正向查询  按book表里的字段book.publis ...

  8. 用Python玩数据-笔记整理-第一章

    第一个程序:print >>>print("Hallo World!") >>>Hallo World! mystring = "Ha ...

  9. CentOS6.5安装Oracle 12c

    CentOS6.5 安装 ORACLE 12c步骤 Oracle官网下载oracle12c安装包,解压软件:unzip linuxx64_12201_database.zip 一.创建用户和组#gro ...

  10. ybc云计算思维

      YBC的云计算思维 计算机基础 一 计算机由5大单元组成 输入单元(鼠标 键盘) 存储单元(硬盘 内存) 逻辑单元(CPU) 控制单元(主板) 输出单元(显示器 音响 打印机) CPU CPU主要 ...