学习日记-集合容器
来源:互联网 发布:sqlserver 大数据导入 编辑:程序博客网 时间:2024/06/11 18:11
collection 系列数组初始化。
1:new arraylis();
2:Arrays.asList(); 或者 Array.<T>asList(); 这个方法返回的是一个collection 对象, 方法的参数是一个可变长度的参数类型,但是返回的collection对象去add的时候会报错,因为这个方法实现的底层是一个数组,所有要这样 list<T> list = new ArrayList<T>(Array.asList); 但是这样太麻烦 。不如第三种
3 List<T> list = new ArrayList<T>();
T[] t ={...}
Collections.addAll(list,t); 或者Collection.<T>.addAll(...);
Collections 拥有很多有用的工具方法,像是copy,sublist,retain,remove,contain需要重写equal方法。遍历一个集合是可以用迭代器,这样就不用关注容器的类型了。iterator是单向的,list家族有个listiterator是双向的并且可以用set去改变list里面的对象。
若是操作自定义的类型,arraylist,linkedlist只需要重写equal方法,但是hashset,linkedhashset需要重写equal,hashcode方法,而treeset需要实现comparable接口
若需要遍历一个map 用map.entryset 方法可以返回一个set集合,这个set可以获得key,value还可以setval,需要注意的是这样遍历若key一样是会被过滤掉的,至于怎么判断key是否一样取决于map的类型,hashmap ,linkedhashmap 根据hashcode和equal方法判断,treemap根据compare判断
stack 栈先进后出,quene 队列先进先出 可以用linklist实例化,priorityQueue带权重的队列,初始化的时候指定collections.reverseOrder(),就可以基于queue里的对象的compare方法去对队列的的数据排序。或者不指定也可以排序
如果想实现一个对象的遍历适用于通用的代码,比如遍历基本类型,继承collection太臃肿,不如写个方法用匿名内部类去实现iterator的接口
- 学习日记-集合容器
- 学习日记-集合总结
- JAVA学习日记----------容器总结
- C++学习日记(容器)
- C#学习日记 并发集合
- JAVA学习日记----------容器的扩展
- 黑马程序员--学习日记--集合框架
- 黑马程序员_java学习日记_集合
- 黑马程序员-java学习日记之集合
- 黑马程序员--学习日记 (四)集合
- ios swift学习日记5-集合类型
- C#学习日记-数组和集合
- 2017.12.03.学习日记(集合)
- 黑马程序员--Java学习日记之集合(集合体系&迭代器)
- STL学习笔记-set/multiset容器(集合)
- multiset 多重集合容器 C++容器 学习笔记
- java学习日记.06——容器中的List
- 容器|集合
- SpringBoot Schedule 配置
- Maven手动添加依赖的jar文件到本地Maven仓库
- 深入PHP面向对象、模式与实践——高级特性(4)
- Spring整合Hibernate的方法
- 2. Add Two Numbers
- 学习日记-集合容器
- AspectJ切面执行两次原因分析
- android的UI和常用控件
- 第七十篇:从ADAS到自动驾驶(三):车道检测
- UVa 10976
- 数据结构-线性表
- JS中Float类型加减乘除
- 神经网络:多层网络与C++实现
- C# 控制台简单日历