集合中的Collection方法
来源:互联网 发布:linux shell脚本编程 编辑:程序博客网 时间:2024/06/01 08:09
Collection存在集合中的共性方法,也是集合中的父类,请参考集合关系表,(图片来源于网络)
---|Collection: 单列集合
---|List: 有存储顺序, 可重复
---|ArrayList: 数组实现, 查找快, 增删慢
由于是数组实现, 在增和删的时候会牵扯到数组增容, 以及拷贝元素. 所以慢。数组是可以直接按索引查找, 所以查找时较快
---|LinkedList: 链表实现, 增删快, 查找慢
由于链表实现, 增加时只要让前一个元素记住自己就可以, 删除时让前一个元素记住后一个元素, 后一个元素记住前一个元素. 这样的增效率较高但查询低
---|Vector: 和ArrayList原理相同, 但线程安全, 效率略低
和ArrayList实现方式相同, 但考虑了线程安全问题, 所以效率略低
---|Set: 无存储顺序, 不可重复
---|HashSet
---|TreeSet
---|LinkedHashSet
---| Map: 键值对
---|HashMap
---|TreeMap
---|HashTable
---|LinkedHashMap增加:
1:add() 将指定对象存储到容器中
add 方法的参数类型是Object 便于接收任意对象
2:addAll() 将指定集合中的元素添加到调用该方法和集合中
删除:
3:remove() 将指定的对象从集合中删除
4:removeAll() 将指定集合中的元素删除
修改
5:clear() 清空集合中的所有元素
判断
6:isEmpty() 判断集合是否为空
7:contains() 判断集合何中是否包含指定对象
8:containsAll() 判断集合中是否包含指定集合
使用equals()判断两个对象是否相等
获取: 9:int size() 返回集合容器的大小
转成数组10: toArray() 集合转换数组
public static void main(String[] args) {Collection list1 = new ArrayList();list1.add("北京海淀");list1.add("山东青岛");list1.add("浙江杭州");list1.add("广东广州");System.out.println(list1);Collection list2 = new ArrayList();list2.add("java");list2.add(list1);list2.addAll(list1);System.out.println(list2);System.out.println(list2.size());Boolean remove1 = list1.remove("北京海淀");if(remove1){System.out.println("删除成功");System.out.println(list1);System.out.println(list2);}}
由此可见。add(list1)是将整个list1集合当做一个对象,addAll(list1),是将list1中的每一个元素当做list2中的一个元素
当删除list1中的一个元素时,list2中的list1对象也会删除一个元素,但是使用addAll()方法添加的元素不会被删除
- 集合中的Collection方法
- 遍历Collection集合中的6种方法
- java集合Collection中的常用方法
- java中的集合Collection
- C#中的集合--Collection
- Collection集合类方法
- Collection接口集合方法
- Collection--Java中的collection(集合)接口综述
- java中的集合(Collection)
- JAVA中的集合(Collection)
- Kotlin中的集合(Collection)
- java集合Collection中的All
- Slim中的集合类Collection
- 黑马程序员,collection集合方法
- 集合collection常用方法定义
- 集合中Collection方法详解
- Collection中的基本方法
- Collection中的基本方法
- 解决window.location.href不跳转,无反应,不执行的问题
- faster-rcnn 训练出错: Train net output #7: bbox_loss = 0
- jQuery CSS 操作函数
- h5导航条滑动
- MFC 判断联网
- 集合中的Collection方法
- Maven项目出现Perhaps you are running on a JRE rather than a JDK?
- lattice 包的用法
- myeclise10 svn: E210004: Number is larger than maximum 解决方案
- 像素万能适配转换的工具类
- Python中的__init__()和__call()__函数
- 【cordova】cordova热更新插件的问题(cordova-hot-code-push)
- RabbitMQ
- jQuery Ajax 操作函数