JDK类集框架实验(ArrayList,LinkedList,TreeSet,HashSet,TreeMap,HashMap)
ArrayList
import java.util.ArrayList;
public class C8_3 { public static void main(String[] args) {
// TODO Auto-generated method stub
ArrayList<Integer> nl = new ArrayList<Integer>();
nl.add((Integer) 1);
nl.add((Integer) 2);
nl.add((Integer) 3);
System.out.println("输出集合的所有元素" + nl);
System.out.println("输出下标为2的元素: " + nl.get(2));
nl.add(1, (Integer) 4);// 下标1的位置插入一个元素
System.out.println("元素下标1的位置插入4后,输出所有元素" + nl);
Integer b = (Integer) 1;
int n = nl.indexOf(b);// 查找指定元素的下标
nl.remove(n);// 删除指定下标的元素
System.out.println("n=" + n + " 删除n元素后输出集合中所有元素");
for(Integer i : nl){
System.out.print(i + " , ");
} System.out.println();
} }

LinkedList
import java.util.LinkedList;
public class C8_5 {
public static void main(String[] args) {
// TODO Auto-generated method stub
LinkedList queue = new LinkedList();
queue.offer("a1");// 入队列操作 queue.add()
queue.offer("a2");
queue.offer("a3");
System.out.println(queue);
System.out.println(queue.poll());// 出队列操作 queue.pop()
System.out.println(queue);
System.out.println(queue.peek()); // 取队列头元素操作,并没有把元素踢掉
System.out.println(queue);
System.out.println(queue.poll()); // 出队列操作
System.out.println(queue.isEmpty()); // 判断队列空操作
}
}

TreeSet
import java.util.Iterator;
import java.util.TreeSet; public class TestTreeSet { public static void main(String[] args) {
// TODO Auto-generated method stub TreeSet ts1 = new TreeSet(); ts1.add(20);
ts1.add(20);
ts1.add(50);
ts1.add(30);
ts1.add(100);
ts1.add(10);
ts1.add(70);
ts1.add(60);
System.out.println("树里面的元素"+ts1);
System.out.println(ts1.isEmpty());
System.out.println(ts1.size()+" ");
System.out.println(ts1.contains(30));
ts1.remove(30);
System.out.println(ts1.contains(30));
System.out.println(ts1.size()); // 迭代器的使用方法
Iterator it = ts1.iterator();
while(it.hasNext())
System.out.println(it.next() + " ");
System.out.println(); Object[] data = ts1.toArray();
for(int i=0; i<data.length; i++)
System.out.print(data[i]+" ");
System.out.println();
} }

HashSet
import java.util.*;
public class TestHashSet {
public static void main(String[] args) {
// TODO Auto-generated method stub
HashSet ts1 = new HashSet();
ts1.add(20);
ts1.add(50);
ts1.add(30);
ts1.add(100);
ts1.add(10);
ts1.add(70);
ts1.add(60);
ts1.add(30);
System.out.println(ts1);
System.out.println(ts1.isEmpty());
System.out.println(ts1.size());
System.out.println(ts1.contains(30));
ts1.remove(30);
System.out.println(ts1.contains(30));
System.out.println(ts1.size());
// 迭代器的使用方法
Iterator it = ts1.iterator();
while (it.hasNext())
System.out.print(it.next() + " ");
System.out.println();
// toArray方法的使用
Object[] data = ts1.toArray();
for (int i = 0; i < data.length; i++)
System.out.print(data[i] + " ");
System.out.println();
}
}

TreeMap
import java.util.*;
public class TestTreeMap {
public static void main(String[] args) {
// TODO Auto-generated method stub
TreeMap register = new TreeMap();
register.put("zhangshan","jingsp");
register.put("lishi","1996-8");
register.put("wangwu","960515");
register.put("zhaoliu","overS");
System.out.println("-------------------");
System.out.println("entryset =");
Set s = register.entrySet();
Iterator it = s.iterator();
while(it.hasNext())
{
System.out.println(it.next());
}
System.out.println("-------------------");
System.out.println("key=\t value=");
Set s0 = register.entrySet();
Iterator it0 = s0.iterator();
while(it0.hasNext())
{
Map.Entry map = (Map.Entry)it0.next();
System.out.println("key:"+map.getKey()+"\tvalue:"+map.getValue());
}
System.out.println("-------------------");
System.out.println("keyset ====");
Set s1 = register.keySet();
Iterator it1 = s1.iterator();
while(it1.hasNext())
System.out.println(it1.next());
System.out.println("-------------------");
System.out.println("valueset ====");
Collection s2=register.values();
Iterator it2=s2.iterator();
while(it2.hasNext())
System.out.println(it2.next());
System.out.println("-------------------");
System.out.println(register.size());
System.out.println(register.get("lishi"));
System.out.println(register.isEmpty());
register.put("chengjiu", "arg1");
System.out.println(register.size());
System.out.println(register.remove("chengjiu"));
System.out.println(register.size());
System.out.println(register.containsKey("chengjiu")); System.out.println(register.containsValue("960515"));
}
}


Map接口内部定义了一个接口Entry
interface Entry{
Object getKey();
Object getValue();
Object setValue();
boolean equals(Object value);
int hashCode();
}
HashMap
import java.util.*;
public class TestHashMap { public static void main(String[] args) {
// TODO Auto-generated method stub
HashMap register = new HashMap();
register.put("zhangshan", "jingsp");
register.put("lishi", "1996-8");
register.put("wangwu", "960515");
register.put("zhaoliu", "overS"); System.out.println(register); System.out.println("-------------------");
System.out.println("entryset =");
Set s = register.entrySet(); System.out.println("hashCode " + s.hashCode()); Iterator it = s.iterator();
while(it.hasNext())
System.out.println(it.next()); System.out.println("-------------------");
System.out.println("key=\t value=");
Set s0 = register.entrySet();
Iterator it0 = s.iterator();
while (it0.hasNext()) {
Map.Entry map = (Map.Entry) it0.next();
System.out.println("key:" + map.getKey() + "\tvalue:"
+ map.getValue());
} System.out.println("-------------------");
System.out.println("keyset ====");
Set s1 = register.keySet();
Iterator it1 = s1.iterator();
while (it1.hasNext())
System.out.println(it1.next()); System.out.println("-------------------");
System.out.println("valueset ====");
Collection s2 = register.values();
Iterator it2 = s2.iterator();
while (it2.hasNext())
System.out.println(it2.next()); } }
{lishi=1996-8, zhangshan=jingsp, zhaoliu=overS, wangwu=960515}
-------------------
entryset =
hashCode 48127692
lishi=1996-8
zhangshan=jingsp
zhaoliu=overS
wangwu=960515
-------------------
key= value=
key:lishi value:1996-8
key:zhangshan value:jingsp
key:zhaoliu value:overS
key:wangwu value:960515
-------------------
keyset ====
lishi
zhangshan
zhaoliu
wangwu
-------------------
valueset ====
1996-8
jingsp
overS
960515
JDK类集框架实验(ArrayList,LinkedList,TreeSet,HashSet,TreeMap,HashMap)的更多相关文章
- javase基础笔记4——异常/单例和类集框架
继承 extends final关键 多态 是在继承的基础上 接口 interface 异常 exception 包的访问可控制权限 private default protect public 异常 ...
- 浅谈java类集框架和数据结构(2)
继续上一篇浅谈java类集框架和数据结构(1)的内容 上一篇博文简介了java类集框架几大常见集合框架,这一篇博文主要分析一些接口特性以及性能优化. 一:List接口 List是最常见的数据结构了,主 ...
- Java类集框架详细汇总-底层分析
前言: Java的类集框架比较多,也十分重要,在这里给出图解,可以理解为相应的继承关系,也可以当作重要知识点回顾: Collection集合接口 继承自:Iterable public interfa ...
- 浅谈java类集框架和数据结构(1)
在另外一篇博客我简单介绍了java类集框架相关代码和理论. 这一篇博客我主要分析一下各个类集框架的原理以及源码分析. 一:先谈谈LinkedList 这是LinkedList源码的开头,我们能看到几点 ...
- java:类集框架
类集框架:jdk提供的一系列类和接口,位于java.util包当中,主要用于存储和管理对象,主要分为三大类:集合.列表和映射. 集合Set:用于存储一系列对象的集合.无序.不允许重复元素. 列表Lis ...
- 专题笔记--Java 类集框架
Java 类集框架 1. Java类集框架产生的原因 在基础的应用中,我们可以通过数组来保存一组对象或者基本数据,但数组的大小是不可更改的,因此出于灵活性的考虑和对空间价值的担忧,我们可以使用链表来实 ...
- 第41节:Java当中的类集框架
Java当中的类集框架 类集框架,那么什么是类集框架,集合的种类有哪些,类集框架的基础结构. 类集框架是一组类和接口的集合,位于java.util包当中,是用来用户存储和管理对象的,在这个类集合框架中 ...
- Java——集合框架之ArrayList,LinkedList,迭代器Iterator
概述--集合框架 Java语言的设计者对常用的数据结构和算法做了一些规范(接口)和实现(具体实现接口的类).所有抽象出来的数据结构和操作(算法)统称为Java集合框架(Java Collection ...
- java中的类集框架
1.什么是类集框架 1.是一组类和接口 2.位于java.util包当中 3.主要用于用户存储和管理对象 4.主要分为三大类——集合.列表和映射 2.类集框架图 虚线框的表示接口,实线框的表示实现类 ...
随机推荐
- (17)什么是jQuery(jq的流程和基本操作)
jQuery就是对原生js二次封装的工具类(在jq叫构造函数) jQuery就是一堆方法的集合,jq对象就可以直接调用这些方法来完成指定的需求 使用jq的流程: 1.在HTML页面倒入jq.js文件 ...
- vue的理解
vue提供的MVVM框架模式的数据双向绑定,实现了HTML和js的代码分离,提高代码的维护性 vue.js的核心思想包括:数据驱动和组件化思想. 如果没有中间的ViewModel则关系图编程下面所示: ...
- 第一个程序HelloWorld及常见问题解决和练习
public class hello world{ public static void main(String[] args){ System.out.println(); } } 注意事项: 源文 ...
- eclipse 启动tomcat 出现错误Could not publish server configuration: null. java.lang.NullPointerException
若出现以上错误,则很有可能是修改了conf/server.xml的内容,将改过的地方改回去,然后重启tomcat 就可以啦
- 用idea编写第一个jsp文件
创建一个JAVA-web项目的前提:1.下载并安装JDK2.安装并配置Tomcat服务器 下面开始创建JAVA-web项目: 1.File——>new——>Project... 2.跟 ...
- CF643D Bearish Fanpages
题意 英文版题面 Problems Submit Status Standings Custom test .input-output-copier { font-size: 1.2rem; floa ...
- oracle之rman备份
rman必须在oracle的归档模式下才能进行 查看数据库是否为归档状态,在oracle数据库的命令行输入 archive log list; 首先关闭数据库 shutdown immediate; ...
- List接口的使用方法
★List接口特点: 1.元素存储有序的集合 2.带索引的集合 3.集合中可以有重复的元素 4.常用的子类有ArrayList , LinkedList ★List接口的方法:add , rem ...
- cJSON学习笔记 续集
0.前言 本文试图说明怎样使用CJSON构造各种各样的JSON数据包.在前段时间已经写过一篇cJSON的文章,所以本文成为"续集". [相关博文] [前端学 ...
- 将VirtualBox里安装的虚拟机在后台运行方法(在状态栏隐藏窗口)
由于工作和学习需要,经常要开一个虚拟机开测试和开发,虚拟机我选择Oracle公司的VirtualBox(用了几年了,感觉不错的一款产品),经常开着这个窗口感觉有些浪费资源,这样隐藏窗口就在需求了. 将 ...