1.UML图文详解
下载地址:StarUML
1.1集合类图
List集合跟Set集合都有继承Collection接口而Map集合并没有。
1.2线下教育平台用例图
2.List集合
2.1ArrayList
2.1.1特点
学集合框架就是为了了解容器的数据结构。(增删改查)
package com.Kissship.list; import java.util.ArrayList; import java.util.List; /** * 讲解集合的特点 * 1.具备容器的基本特点————增删改查 * 2.有序 * 3.元素可重复 * @author jj * */ public class Demo1 { public static void main(String[] args) { //集合本身是一个容器,容器的特点就是对存储的元素进行 增删改查 List list = new ArrayList<>(); list.add("我用双手成就你的梦想");//增加 list.add("时间不在于节省多少而在于你怎样使用"); list.add("断剑重铸之日骑士归来之时"); System.out.println(list);//a b c // list.remove("时间不在于节省多少而在于你怎样使用");//删除 // System.out.println(list); list.set(1, "断剑重铸之日骑士归来之时");//修改 System.out.println(list);//a c c } }
集合本身就是一个容器。
2.1.2遍历
集合遍历的三种方式:1.foreach增强for循环 2.迭代器 3.fori通过下标遍历
package com.Kissship.list; import java.util.ArrayList; import java.util.Iterator; import java.util.List; public class Demo2 { public static void main(String[] args) { //集合本身是一个容器,容器的特点就是对存储的元素进行 增删改查 List list = new ArrayList<>(); list.add("我用双手成就你的梦想");//增加 list.add("时间不在于节省多少而在于你怎样使用"); list.add("断剑重铸之日骑士归来之时"); for (Object object : list) { System.out.println(object); } Iterator it = list.iterator(); while (it.hasNext()) { System.out.println(it.next()); } for (int i = 0; i < list.size(); i++) { System.out.println(list.get(i)); } } }
2.2LinkedList
LinkedList:链表 特点:查询修改慢,增加删除快。
ArrayList:数组 特点:查询修改快,增加删除慢。
对比ArrayList:数据结构分别是堆栈,队列;
2.2.1堆栈跟队列的区别
示例如下:(用LinkedList完成一个堆栈容器)
package com.Kissship.list; import java.util.LinkedList; public class Demo3 { public static void main(String[] args) { // 集合本身是一个容器,容器的特点就是对存储的元素进行 增删改查 LinkedList ll = new LinkedList<>(); ll.add("我用双手成就你的梦想");// 增加 ll.add("时间不在于节省多少而在于你怎样使用"); ll.add("断剑重铸之日骑士归来之时"); DuiZhan dz = new DuiZhan(ll); // 定义一个方法,当这个方法被调用的时候,后存进去的元素要先输出,先存进去的则后输出————堆栈 System.out.println(dz.pop()); System.out.println(dz.pop()); System.out.println(dz.pop()); } } class DuiZhan { private LinkedList ll; public DuiZhan(LinkedList ll) { super(); this.ll = ll; } //压栈 弹栈 public Object pop() { return ll.removeLast(); } }