黑马程序员---一DAY16总结--java中你必须掌握的集合框架技术
来源:互联网 发布:tensorflow word2vec 编辑:程序博客网 时间:2024/06/01 08:34
----------------------- android培训、java培训、java学习型技术博客、期待与您交流! ----------------------
java中不得不掌握集合框架技术
集合类和容器
为什么会出现集合?
在面向对象语言中,对事物的描述都是以对象的形式,所以为了方便对多个对象
的操作,就要对对象进行存储,集合就是存储对象的最常见的一种方式。
数组虽然也可以存储对象,但是长度是固定的;那么集合的长度是可变的。
所以数组可以存储任意数据类型,集合只能存储对象。
集合类的特点
集合只用于存储对象,集合长度是可变的,集合可以存储不同类型的对象
集合类比数组强大,类似于包装类与基本数据类型
两大接口
java集合类主要是由两个接口派生出来的
Collection
Set:不能存放重复对象
List:可存放重复对象,有序
Queus:队列
SortedSet:可对集合数据排序
Map
SortedMap:可对集合数据排序
Collection接口
方法:boolean add(Object o):该方法用于向集合里面添加一个元素,若集合
对象被添加操作改变了,返回ture
boolean addAll(Collection c):把集合里面的所有元素添加到指定集合里面去,如果集合
对象被添加操作改变了返回turn
void clear():清除集合里面的所有元素,将集合长度变为0
boolean contains(Object o)返回集合里是否包含集合c所有元素
boolean isEmpty():返回集合是否为空(长度是否为0)。
Iterator iterator():返回一个Iterator对象,用于遍历集合里的元素。
boolean remove(Object o):删除集合中指定元素o。
boolean removeAll(Collection c):从集合中删除集合c里面的元素。若删除一个或以上返回true。
boolean retainAll(Collection c):从集合中删除集合c里不包含的元素。
int size():得到集合元素的个数。
Object[] toArray():把集合转成一个数组,所有集合元素编程数组元素。
public class Demo10 {public static void main(String[] args) {Collection<String> c = new ArrayList<String>();c.add("A");c.add("A");c.add("A");c.add("A");//c.add(new Date());上面写了泛型,这个语句就是错误的了,因为泛型规定了加进来的类型!System.out.println(c);}}
Iterater接口
Iterator主要遍历Collection集合中的元素,也有称为迭代精灵
boolean hasNext():若被迭代的集合元素还没有被遍历,返回ture
Object next():返回集合的下一个元素
void remove():删除集合上一次next()方法返回的元素。(若集合中有多个相同的元素
,都可以删除)
iterator 对于集合才能用,for不同,只要是循环都可用
迭代是取出集合中元素的一种方式
因为Collection中有iterator方法,所以每一个子类集合对象都具备迭代器
迭代器在Collection中有iterator方法,所以每一个子类集合对象都具备迭代器
集合遍历输出方式
Iterator:迭代输出
一旦操作集合的遍历输出,首先Iterator接口
ListIterator:Iterator子接口,专门输出List中的元素;
Enumeration:古老的输出方式,迭代Vector元素,被Iterator取代;
foreach:可输出数组和Iterable对象;
集合遍历输出方式:
1. Iterable接口(迭代遍历) 注:优先选择Iterator接口,遍历Collection里所有元素,也称为迭代器和迭代精灵;迭代是取出集合中元素的一种推荐方式。
2. Foreach循环 注:可以直接用,使用场合:数组和Iterable对象!
3. For循环 注:在()内实例化Iterable对象,进行遍历!
4. 先用toArray方法输出成为数组,再用Foreach循环!
第一个和第三个很类似,第二个和第四个很类似!
package com.itheima;//遍历输出的四种方式import java.util.ArrayList;import java.util.Iterator;import java.util.List;public class joinTest {public static void main(String[] args) {List<String> l = new ArrayList();l.add("1");l.add("2");l.add("3");l.add("4");System.out.println(l);/** * 遍历输出:四种方式 */// 1、推荐使用的Iterator对象,迭代输出!Iterator it = l.iterator();while (it.hasNext()) {System.out.println("迭代输出:" + it.next());}// 2、对集合进行fore循环!for (String str : l) {System.out.println("fore集合迭代输出:" + str);}// 3、for循环迭代,在for方法体内部实例化Iterator对象!int i = 0;// for方法体内定义项不能出现多种不同类型for (Iterator iter = l.iterator(); i < l.size(); i++) {System.out.println("for循环迭代实例化输出:" + iter.next());}// 4、先将集合转换为数组,再利用数组的遍历输出;Object[] o = l.toArray();for (Object object : o) {System.out.println("转换数组迭代输出:" + object);}}}
----------------------- android培训、java培训、java学习型技术博客、期待与您交流! ----------------------
- 黑马程序员---一DAY16总结--java中你必须掌握的集合框架技术
- 黑马程序员---一DAY17总结--java中你必须掌握的集合框架技术
- 黑马程序员-----java中你必须掌握的线程技术一DAY15总结
- 黑马程序员-day16-集合框架(Map)
- JAVA程序员必须掌握的技术
- 黑马程序员 知识点总结-Java集合框架(一)
- 黑马程序员——Java集合框架复习总结(一)
- 黑马程序员-----集合框架总结笔记一
- 黑马程序员—Java学习笔记之必须掌握的反射技术
- 黑马程序员--java技术--集合框架
- 黑马程序员:JAVA集合框架知识点一
- 黑马程序员 java集合框架笔记(一)
- 黑马程序员:java集合框架(一)
- 黑马程序员----Java基础-----集合框架(一)
- 黑马程序员--Java集合框架(一)
- 黑马程序员之java--集合框架总结
- 【黑马程序员】java集合框架学习总结
- 黑马程序员:Java基础总结----集合框架的工具类
- 天堂的忏悔
- 真正让我们学会建站需要凭借三大因素,当你具备了这三个因素学会建站指日可待
- CCM
- java中的可变参数与foreach输出
- ubuntu theano 安装成功,windows theano安装失败
- 黑马程序员---一DAY16总结--java中你必须掌握的集合框架技术
- 焦距与光圈
- win7 java环境配置
- Linux创建快捷方式(链接)命令ln
- Flash recovery area
- stable marriage problem
- 两个有序数组,寻找第k小的数
- Making Use of Boost Geometry in MySQL GIS
- 变焦与对焦