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 ...
随机推荐
- yii中find()指定条件
find()查找指定的条件 $modelName::model->find(); 使用条件对象 $criteria = new CDbCriteria(); $criteria->sele ...
- CentOS下查看机器配置
1.查看系统位数.内核版本 [root@localhost ~]# uname -a Linux localhost.localdomain 3.10.0-693.11.6.el7.x86_64 #1 ...
- 你确定你会写 Dockerfile 吗?
如今 GitHub 仓库中已经包含了成千上万的 Dockerfile,但并不是所有的 Dockerfile 都是高效的.本文将从五个方面来介绍 Dockerfile 的最佳实践,以此来帮助大家编写更优 ...
- 设计模式-状态模式(State)
状态模式是行为模式的一种,状态模式允许改变对象内部状态来改变对象的行为. 角色和职责: 1.上下文(Context)-Order: 拥有内部的状态 2.状态接口(Status)-State: 一 ...
- Docker笔记(二):Docker管理的对象
原文地址:http://blog.jboost.cn/2019/07/14/docker-2.html 在Docker笔记(一):什么是Docker中,我们提到了Docker管理的对象包含镜像.容器. ...
- C++学习书籍推荐《More Effective C++》下载
百度云及其他网盘下载地址:点我 编辑推荐 <More Effective C++:35个改善编程与设计的有效方法(中文版)>:传世经典书丛 媒体推荐 <Effective c++&g ...
- HTML认识二
<!doctype html> <html lang="en"><head> <meta charset="UTF-8" ...
- 前端经常碰到的小知识点-----js篇
一 js 1.可视区宽和高 ① document.documentElement.clientWidth //可视区的宽度 document.documentElement.clientHei ...
- 用Python玩数据-笔记整理-第二章
条件结构: if语句: if expression: #比较/成员/逻辑运算符 expr_true_suite #代码块必须缩进4个空格 else语句: if expression: expr_tru ...
- 转载《Flex 布局》
网页布局(layout)是 CSS 的一个重点应用. 布局的传统解决方案,基于盒状模型,依赖 display 属性 + position属性 + float属性.它对于那些特殊布局非常不方便,比如,垂 ...