Java学习日记-11 集合(1)
Collection接口
集合中存储的只是对象的引用,不是对象本身。
1.ArrayList<E>类
1.1ArrayList和Collection的关系
public interface List<E>extends Collection<E>
public class ArrayList<E> implements List<E>
1.2构造方法
ArrayList() 构造一个初始容量为 10 的空列表。
ArrayList(Collection<? extends E> c)构造一个包含指定 collection 的元素的列表,这些元素是按照
该 collection 的迭代器返回它们的顺序排列的。
ArrayList(int initialCapacity)构造一个具有指定初始容量的空列表。
1.3基本方法
boolean add(E e)将指定元素添加到列表尾部
boolean addAll(Collection<? extends E> c) 将另一个集合中的元素全部添加到ArrayList中,允许重复
元素
public boolean removeAll(Collection<?> c) 求补集A-B(从java.util.AbstractCollection 继承)
void add(int index, E element)将指定元素插入指定位置
void clear()移除所有元素
boolean contain是(Object o)列表中如果包含该元素,返回true
int indexOf(Object o)返回列表中首次出现指定元素的索引,不含该元素则返回-1
boolean isEmpty() 列表为空,返回true
E remove(int index)移除指定位置元素
int size()返回元素数
Object[] toArray()返回所有元素的数组
<T> T[] toArray(T[] a)
(PS:集合可以直接打印输出)
2.迭代器Iterator
2.1 Collection中的iterator方法
Iterator<E> iterator()返回在此 collection 的元素上进行迭代的迭代器。
2.2 Itetrator<E>接口
boolean hasNext()仍有元素可以迭代,返回true
E next() 返回迭代的下一个元素
void remove()从迭代器指向的 collection 中移除迭代器返回的最后一个元素
- /*
- *利用Iterator遍历集合,假设集合coll中存放的都是String对象
- */
- Iterator it = coll.iterator();
- while(it.hasNext()){
- String s = (String)it.next();
- System.out.println(s);
- }
- //注意:在迭代的过程不能通过集合remove集合中的元素,否则会抛出
- java.util.ConcurrentModificationException并发修改异常,只能通过迭代器Iterator的remove方法移除当前迭代器指向的对象
- Iterator it = coll.iterator();
- while(it.hasNext()){
- String s = (String)it.next();
- if(s.equals("111")){
- coll.remove(s); //这样不行,得改成it.remove()
- }
- }
Java学习日记-11 集合(1)的更多相关文章
- Java学习日记-10 集合
集合(Collection) 1. 什么是集合? 集合是一组对象组成的一个整体,又称为容器,集合类属于java.util包.集合不同于数组的地方在于,一是它的容量是可变的,二是集合中只能存储对象,不能 ...
- Java学习日记-12 集合(2)
一.List<E>接口(超级接口Collection,List比Collection多重载了一些索引作为形参的方法)1.实现类ArrayList\LinkedListArrayList顺序 ...
- Java学习笔记之---集合
Java学习笔记之---集合 (一)集合框架的体系结构 (二)List(列表) (1)特性 1.List中的元素是有序并且可以重复的,成为序列 2.List可以精确的控制每个元素的插入位置,并且可以删 ...
- 【原】Java学习笔记026 - 集合
package cn.temptation; public class Sample01 { public static void main(String[] args) { // 需求:从三国演义中 ...
- Java学习笔记之集合
集合(Collection)(掌握) (1)集合的由来? 我们学习的是Java -- 面向对象 -- 操作很多对象 -- 存储 -- 容器(数组和StringBuffer) -- 数组而数组的长度固定 ...
- java学习笔记之集合家族2
集合体系 一.数据结构 List集合储存数据结构 <1>堆栈结构 特点:先进后出 <2>队列结构 特点:先进先出 <3>数组结构 特点:查询快,增删慢 <4& ...
- Java 学习(11): 面向对象编程—继承(super,this)
Java 继承 what: 继承就是子类继承父类的特征和行为,使得子类对象(实例)具有父类的实例域和方法,或子类从父类继承方法,使得子类具有父类相同的行为.子类从它的父类中继承可访问的数据域和方法,也 ...
- Java学习日记 集合
一.接口Map<K,V>1.V put(K key, V value)2.int size()3.public class HashMap<K, V> implements M ...
- Java学习日记基础篇(九) —— 集合框架,泛型,异常
集合框架 有事我们会需要一个能够动态的调整大小的数组,比如说要添加新员工但是数组已经满了,并且数组的大小是在定义的时候定死的,所以我们就需要一个能够动态调整大小的数组或者用链表解决,而java中提供了 ...
随机推荐
- 在一个UIView中如何使用多个UIPickerView
可以现在storyboard的UIView中拖入多个UIPickerView 然后同样是继承相关的UIPickerView协议 <UIPickerViewDataSource,UIPickerV ...
- linux 之 yum 介绍 <转>
原文在这里 http://doophp.sinaapp.com/archives/linux/yum-setting-parameter.html 因为是程序员出身,平时虽然经常接触服务器,偶尔也会 ...
- AC自动机学习笔记
AC自动机 ----多个模板的字符串匹配 字典树Trie加上失配边构成 插入操作:ac.insert(p[i],i);构造失配函数:ac.getFail();计算文本串T中每个模板串的匹配数:ac.f ...
- centos 6+安装山逗斯骚尅特(本文内容来自都比更具帝)
系统支持:CentOS 6+,Debian 7+,Ubuntu 12+ 内存要求:≥128M 关于本脚本 一键安装 Shadowsocks-Python, ShadowsocksR, Shadowso ...
- webpack 配置 (支持 React SCSS ES6 编译打包 和 模块热更新 / 生成SourceMap)
1.首先是目录结构 |-node_modules/ #包文件 |-build/ #静态资源生成目录 |-src/ #开发目录 |-js/ |-index.js #入口文件 |-app.js #Reac ...
- (转)Css样式兼容IE6,IE7,FIREFOX的写法
根据FF和IE对一些符号识别的差异,我们可以单独对FF以及IE定义样式,例子: 区别IE6与FF: background:orange;*background:blue; 区别I ...
- Content-Disposition的使用和注意事项
转载:http://www.cnblogs.com/jzaileen/articles/1281025.html 最近不少Web技术圈内的朋友在讨论协议方面的事情,有的说web开发者应该熟悉web相关 ...
- 开源的Android开发框架-------PowerFramework使用心得(二)图片异步加载ImageTask
图片异步加载.可以备注图片是否缓存.缓存状态. 1.缓存-SD卡,路径可设置 2.图片压缩 3.可加载本地和网络图片 4.url为本地视频文件可以显示缩略图 5.中文url图片地址FileNotFou ...
- c-指针的指针
概述: 贴上一个'经典C语言程序设计100例'的第77个程序 #include <stdio.h> int main(void) { char *s[]={"man", ...
- ORACLE_DBA管理脚本
SYS @ prod >col index_name for a10 SYS @ prod >col table_name for a10 SYS @ prod >col start ...