黑马程序员_Java集合总结(一)
来源:互联网 发布:全国各乡镇人口数据 编辑:程序博客网 时间:2024/05/16 16:17
---------------------- android培训、java培训、期待与您交流! ----------------------
一、基本概念
所有Java集合类都位于java.util包中,与Java数组不同,Java集合中不能存放基本数据类型,只能存放对象的引用。
集合:存储对象,可变长度。类型不确定。
数组:存储对象,类型确定,不可变长度。
集合框架的体系(collection) 操作集合的方法:增删改查。
1:List 集合有索引,元素可以重复
2.set集合元素不能重复,没有索引。。
List集合分:
arrayList 底层是数组结构。查询速度快,增删慢。
LinkedList 底层是链表结构。增删快,查询慢。
vector: 底层数组结构,具有特有的枚举迭代。
集合的使用:当需求的元素比较多,增加,删除频繁的话用linkedlist。
当需求元素比较多,需要查找时,用arraylist;。
二、迭代器
迭代器:在集合内部取出元素时,对于各种集合所抽取出来的一种共性的取出取出规则。。
提供了一种通用的方式来访问集合中的元素.
Iterator是java.util包中提供的方法.
其中有3个方法
hasNext()判断是否有更多的元素.如果有返回true
next()
remove()方法删除上一个被访问的元素.可以实现也可以不实现.
迭代器是指向两个元素之间的.
Collection提供了一个iterator()方法,可以返回一个迭代器.
凡是继承自Collection的接口或间接的实现类都有这个方法.
Iterator it=a1.iterator();
it.next();
it.remove();
while(it.hasNext())
{
System.out.println(it.next());
}
三、list
List(列表) 特点;和数组类似按索引顺序排序,可以有重复的对象。他的实现支持Null.
实现常用的类如下两种;
1.ArrayList类
特点:与数组类似、连续的地址空间、但长度可随意增减。
方法: 增 add(int index,object o) 添加所有数据类型和对象(可在指定的位置插入对象)添加基本类型会自动转换为包装类型可为null
删 remove(int index)
查 get(int intdex)
改 set(int index, object o) 在指定的位置 修改对象;
2.LinkedLisrt类
特点:里面是存储数据的方式是双向引用,没个对象有独立的空间,访问的原理只能一个一个的查,访问的性能比较差 (存的是、是引用对象null 会被回收)
特有方法:
addFirst();addLast();
getFirst(); getLast();
获取元素 , 不删除元素 .
removeFirst();removeLast();
获取元素 . 删除该元素 . 如果集合中没有元素会出现 NoSuchElementException
在 JDK1.6 出现了替代方法 .
offerFirst();offerLast();
peekFirst();PeekLast();
获取元素 , 元素不被删除 . 如果没有元素返回 null.
pollFirst();pollLast();
获取元素 , 元素被删除 . 如果没有元素返回 null.
---------------------- android培训、java培训、期待与您交流! ----------------------
- 黑马程序员_Java集合总结(一)
- 黑马程序员_Java集合总结(二)
- 黑马程序员_Java集合总结(三)
- 黑马程序员_Java集合(一)
- 黑马程序员_java的集合一_07
- 黑马程序员_java API总结(String、集合)
- 黑马程序员_java 集合框架学习总结
- 黑马程序员_JAVA集合类函数总结
- 黑马程序员_java集合框架简单总结
- 黑马程序员_Java基础:集合总结
- 黑马程序员_java集合
- 黑马程序员_java集合
- 黑马程序员_Java集合
- 黑马程序员_java集合
- 黑马程序员_java 集合
- 黑马程序员_JAVA:集合
- 黑马程序员_java多线程的一些总结(一)
- 黑马程序员_java基础知识学习总结一
- 如何创建一个Sencha Touch 2应用(第一部分)
- jsp基础
- C++设计模式之十:Facade(外观)
- 树
- soj 1001. Alphacode
- 黑马程序员_Java集合总结(一)
- Samba配置学习(Linux和Windows互相访问)(综合整理)
- Iphone 插件视频介绍
- 全局变量、局部变量、静态全局变量、静态局部变量在内存里的区别
- HDFS1.0源代码解析—DataNode类主要数据成员和函数
- 复习struts2之拦截器
- photoshop图像滤镜——素描算法(含matlab代码)
- 判断回文串的递归函数实现(c++)
- CCS3.3中每种数据类型的长度和取值范围总结