package com.test4;

import java.util.*;

/**
* JAVA集合ArrayList,Vector,HashMap,HashTable等使用
*/
public class test4 {
public static void main(String[] args) {
//ArrayList异步,线程不安全,性能高 Vector同步,线程安全,性能低
//定义个ArrayList对象
ArrayList arrayList = new ArrayList();
//显示大小
System.out.println(arrayList.size());
//添加雇员
Employer employer1 = new Employer(1000, "张三", 20);
Employer employer2 = new Employer(1001, "李四", 25);
Employer employer3 = new Employer(1002, "王五", 30);
arrayList.add(employer1);
arrayList.add(employer2);
arrayList.add(employer3); System.out.println("---------foreach循环ArrayList-------------------");
//iter + tab键快捷键生成foreach代码块
for (Object item : arrayList) {
System.out.println("雇员信息:" + item.toString());
} System.out.println("---------for循环ArrayList-------------------");
//fori 快速生成for代码块
for (int i = 0; i < arrayList.size(); i++) {
System.out.println("雇员信息:" + arrayList.get(i).toString());
} System.out.println("---------获取一个雇员信息-------------------");
//获取一个对象
Employer employer = (Employer) arrayList.get(0);
System.out.println("一个雇员信息:" + employer.getName()); System.out.println("---------显示ArrayList大小-------------------");
//显示大小
System.out.println(arrayList.size()); System.out.println("---------HashMap使用-------------------");
/**
* HashMap使用 HashMap异步,线程不安全,性能高 HashTable同步,线程安全,性能低
*/
Map hm = new HashMap();
hm.put("1000", employer1);
hm.put("1001", employer2);
hm.put("1002", employer3);
//使用迭代器
Iterator iter = hm.keySet().iterator();
while (iter.hasNext()) {
//取出Key
String key=iter.next().toString();
//根据Key取出对象
Employer emp= (Employer) hm.get(key);
System.out.println("雇员信息:"+emp.toString());
} /**
* 控制台显示
0
---------foreach循环ArrayList-------------------
雇员信息:Employer{eid=1000, name='张三', age=20}
雇员信息:Employer{eid=1001, name='李四', age=25}
雇员信息:Employer{eid=1002, name='王五', age=30}
---------for循环ArrayList-------------------
雇员信息:Employer{eid=1000, name='张三', age=20}
雇员信息:Employer{eid=1001, name='李四', age=25}
雇员信息:Employer{eid=1002, name='王五', age=30}
---------获取一个雇员信息-------------------
一个雇员信息:张三
---------显示ArrayList大小-------------------
3
---------HashMap使用-------------------
雇员信息:Employer{eid=1002, name='王五', age=30}
雇员信息:Employer{eid=1001, name='李四', age=25}
雇员信息:Employer{eid=1000, name='张三', age=20}
*/
}
} class Employer {
public Employer(int eid, String name, int age) {
this.eid = eid;
this.name = name;
this.age = age;
} private int eid;
private String name;
private int age; public int getEid() {
return eid;
} public void setEid(int eid) {
this.eid = eid;
} public String getName() {
return name;
} public void setName(String name) {
this.name = name;
} public int getAge() {
return age;
} public void setAge(int age) {
this.age = age;
} @Override
public String toString() {
return "Employer{" +
"eid=" + eid +
", name='" + name + '\'' +
", age=" + age +
'}';
}
}

  

Java基础系列 - JAVA集合ArrayList,Vector,HashMap,HashTable等使用的更多相关文章

  1. Java基础系列7——集合系列(1)框架概述

    该系列博文会告诉你如何从入门到进阶,一步步地学习Java基础知识,并上手进行实战,接着了解每个Java知识点背后的实现原理,更完整地了解整个Java技术体系,形成自己的知识框架. 集合框架概述 Jav ...

  2. Java基础系列--09_集合2

    昨天介绍了集合的主要架构体系,今天主要的目的是学习集合的迭代器的遍历和List的特有功能. 迭代器:     概述:由于多种集合的数据结构不同,所以存储方式不同,取出方式也不同.但是他们都是有判断和获 ...

  3. Java基础系列--08_集合1

    ---恢复内容开始--- 集合当中有很多都是应用到泛型的技术,所以在讲集合之前,应该先将泛型的概念普及一下. 泛型:    (1)泛型是一种类型,但是这种类型是在编译或者调用方法时才确定.    (2 ...

  4. Java入门系列之集合ArrayList源码分析(七)

    前言 上一节我们通过排队类实现了类似ArrayList基本功能,当然还有很多欠缺考虑,只是为了我们学习集合而准备来着,本节我们来看看ArrayList源码中对于常用操作方法是如何进行的,请往下看. A ...

  5. Java 集合系列14之 Map总结(HashMap, Hashtable, TreeMap, WeakHashMap等使用场景)

    概要 学完了Map的全部内容,我们再回头开开Map的框架图. 本章内容包括:第1部分 Map概括第2部分 HashMap和Hashtable异同第3部分 HashMap和WeakHashMap异同 转 ...

  6. Java基础系列-ArrayList

    原创文章,转载请标注出处:<Java基础系列-ArrayList> 一.概述 ArrayList底层使用的是数组.是List的可变数组实现,这里的可变是针对List而言,而不是底层数组. ...

  7. Java基础系列--HashMap(JDK1.8)

    原创作品,可以转载,但是请标注出处地址:https://www.cnblogs.com/V1haoge/p/10022092.html Java基础系列-HashMap 1.8 概述 HashMap是 ...

  8. Java基础系列-Collector和Collectors

    原创作品,可以转载,但是请标注出处地址:https://www.cnblogs.com/V1haoge/p/10748925.html 一.概述 Collector是专门用来作为Stream的coll ...

  9. Java 基础系列合集

    Java基础知识你知道多少? Java特性 Java三大特性:封装,继承,多态 Java 抽象类与接口 Java 浅拷贝和深拷贝 Java static和final Java 内部类.静态内部类.匿名 ...

随机推荐

  1. 依赖: libcheese-gtk23 (>= 3.4.0)

    unity-control-center : 依赖: libcheese-gtk23 (>= 3.4.0) 但是它将不会被安装                         依赖: libch ...

  2. 【转载】Request对象的作用以及常见属性

    Request对象是Asp.Net应用程序中非常重要的一个内置对象,其作用主要用于服务器端获取客户端提交过来的相应信息,比较常用的有使用Requset对象获取用户提交的html表单信息,Request ...

  3. redis过期事件回调函数,与有序集合

    https://cloud.tencent.com/developer/article/1347437  python中的Redis键空间通知(过期回调) set notify-keyspace-ev ...

  4. 2-3 查找树及其Java实现

    2-3 查找树 定义(来源:wiki) 查找 插入 2-3 查找树 定义(来源:wiki) 2–3树是一种树型数据结构,内部节点(存在子节点的节点)要么有2个孩子和1个数据元素,要么有3个孩子和2个数 ...

  5. Django session默认配置

    配置 settings.py     SESSION_ENGINE = 'django.contrib.sessions.backends.db'   # 引擎(默认)           SESSI ...

  6. C++——虚函数表解析

     转自:https://blog.csdn.net/haoel/article/details/1948051 前言 C++中的虚函数的作用主要是实现了多态的机制.关于多态,简而言之就是用父类型指针指 ...

  7. Linux——发行版

    主流发行版 1. Red Hat Linux Red Hat 公司一直是Linux 乃至开源世界的领导者.其有两个不同的发行版本: 一个商用版,称为Red Hat Enterprise Linux,专 ...

  8. 关于zsh-autosuggestions插件导致粘贴内容很慢的问题

    zsh开启autosuggestions 插件的时候,在终端中粘贴大量的内容的时候,会粘贴的很慢,基本上是一个字符一个字符的粘贴的. 解决方案 在.zshrc文件中配置以下内容: # This spe ...

  9. k8s的etcd

    etcd是一个高可用的分布式键值(key-value)数据库.etcd内部采用raft协议作为一致性算法,etcd基于Go语言实现. etcd是一个服务发现系统,具备以下的特点: 简单:安装配置简单, ...

  10. vue tslint报错: Calls to 'console.log' are not allowed

    使用Vue CLI 3 的 vue create 创建vue+ts 项目,使用默认配置, 控制台报警告Calls to 'console.log' are not allowed,解决: 在tslin ...