集合--第十六天
来源:互联网 发布:汉字笔顺软件下载 编辑:程序博客网 时间:2024/06/05 15:43
集合:
数组和集合的区别
1 数组有长度限制,而集合没有
2 集合可以调用方法
最大的一个集合接口 Collection
子接口:
1 List :有序(自带下标) 可以重复(可以往集合中放入相同的值)
2 Set :无序(没有下标) 不能重复(不可以往集合中放入相同的值)
3 Map: 无序(键值对) 键不能相同,值可以相同
<key,value>
集合类
Arraylist
方法:
1.size() 得到集合的大小
2.get(i) 得到集合当前下标所对应的内容
3.add()添加
4.add(下标,内容)在下标出添加内容
5.remove(下标/内容); 根据下标/内容删除
6.clear();清空集合
7.set(下标, 对象);
8.contains(查找)
泛型集合 --- <类型>代表该集合只能放该类型
ArrayList<Cat> arr=new ArrayList<Cat>();
底层结构是数组
泛型集合特点:
1 只能装同种类型的数据
2 当从集合中取元素的时候无需强转
狗狗管理系统 DogSystem
Dog 属性:id name age
public ArrayList<Dog> xx (ArrayList<Dog> arr){}
1 初始化3条狗
2 显示所有狗
3 添加狗
4 根据id删除狗
5 根据id修改狗的名字和年龄
6 清空狗狗
7 根据名字查询狗狗信息,如果没找到则打印暂无此狗
8 退出
要求: 狗的id必须是自增长 从1开始
LinkedList :
底层结构是链结构
比ArrayList多了
getFirst() getLast()
addFirst() addLast()
setFirst() setLast()
removeFirst() removeLast()
面试题 :Arraylist和LinkedList 和Vectory的区别
Arraylist :底层结构是数组, 一般用于查询 LinkedList :链结构 一般用于操作
Vectory:底层结构是数组
键值对集合:
特点:
1 键唯一
2 值不唯一
3 无序(无下标)
HashMap<k, v> arr=new HashMap<k, v>();
其中k代表键 v代表值 :一个键指向一个值
添加:arr.put(k,v)
获取v :得到键,通过键再得值
步骤:1 得到键的集合
2 遍历键的集合去得值
迭代器
练习:初始化3条狗,用ArrayList和HashMap
去装,然后分别用for循环和迭代器去遍历
练习:集合的嵌套
HashMap arr1:分别用Interger去对应String
arr1 :1 - 唐僧 2 -悟空....
HashMap arr2:分别用Interget去对应String
arr2 :1 - 刘备 2-曹操 ....
用ArrayList arr3去装arr1和arr2
求遍历所有的String
练习:集合的嵌套2
1年级有2个班(1班,2班)
1班有2个学生(小红18)(小绿19)
2班有2个学生(小黑17)(小蓝20)
最终在控制台中循环打印
1年级1班 姓名:小红 年龄18
1年级1班 姓名:小绿 年龄19
1年级2班 姓名:小黑 年龄17
1年级2班 姓名:小蓝 年龄20
要求用ArrayList,
类:Grades(年级) ,Classes(班级), Student(学生)
自己判断每个类的属性和方法(属性用private)
思路:年级类中包含班级集合
班级类中包含学生集合
- 集合--第十六天
- 黑马程序员-第十六天( Map集合)
- 第十六天:集合-List实现类、泛型
- Java基础第十六天学习日记_Map集合
- 【黑马程序员】集合框架(二)泛型 第十六天
- 黑马程序员——>第十六天<集合框架(Map)>
- 黑马程序员 —— JavaAPI_集合框架 (第十六天)
- 黑马程序员--Java基础学习(集合)第十六天
- 第十六天
- 第十六天
- 第十六天
- 第十六天
- 第十六天
- 18 C# 第十六章 集合的使用
- 世界杯第十六天
- 第十六天 测试
- 第十六天:听课笔记
- 第十六天:总结
- 【javascript】前端模块化的一些坑点
- 自动化测试流程图
- JVM高级特性与实践(四):内存分配 与 回收策略
- ajax success里赋值问题
- 归并树讲解
- 集合--第十六天
- JAVA性能优化需要注意的26个地方--雷锋
- iOS开发中,NSString的比较用法
- C++静态局部变量
- 阿里面试题
- 进度条
- Android JNI开发流程
- javascript深入理解js闭包
- 【MySQL】 创建表CREATE TABLE语法