java 集合框架二(list)

/*
Collection:
	|--List:集合中的元素是有序的,可重复的,有索引。
	|--Set:集合中的元素是无序的,不可重复的,无索引。

List中的特有方法:
增
	add(index,element);
	addAll(index,Collection);
删
	remove(index);
改
	set(index,element);
查
	get(index);
	subList(start,end);
	listIterator();
其他:
	indexOf(obj);//通过indexOf获取对象的位置

	List sub=al.subList(1,3);//获取子列表

List集合特有的迭代器ListIterator,它是Iterator的子接口。

在迭代时,不能通过集合对象的方式来操作集合中的元素。
因为会出现并发异常,即ConcurrentModificationException异常。

所以,在迭代时,只能使用迭代器的方法操作元素,可是Iterator迭代器的方法有限,
所以想要增删改查等更全面的方法,就需要使用其子接口,即ListIterator。
该接口只能通过List集合的ListIterator方法获取。
*/
import java.util.*;
class CollectionList
{
	public static void main(String[] args)
	{
		method_1();
		//System.out.println("Hello World!");
	}
	public static void method_1()
	{
		ArrayList al=new ArrayList();
		al.add("hello1");
		al.add("hello2");
		al.add("hello3");
		al.add("hello4");
		sop(al);

		ListIterator li=al.listIterator();
		while(li.hasNext())
		{
			Object obj=new Object();
			obj=li.next();
			if(obj.equals("hello2"))
			{
				li.add("Hello World");
			}
		}
		sop(al);
		sop(al.get(1));

	}

	public static void sop(Object obj)
	{
		System.out.println(obj);
	}
}

<img src="http://img.blog.csdn.net/20160510105412195?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="" />
时间: 2024-10-18 04:44:55

java 集合框架二(list)的相关文章

Java集合框架(二)

Set Set:无序,不可以重复元素. |--------HashSet:数据结构是哈希表. 线程是非同步的.保证元素唯一性的原理是:判断元素的hashCode值是否相同,如果相同,还会继续判断元素的equals方法,是否为true |--------TreeSet:可以对Set集合中元素进行排序.  底层数据结构是二叉树(也叫红黑树),保证元素唯一性的依据是:compareTo()方法return 0. TreeSet排序的第一种方式:让元素自身具备比较性.元素需要实现Comparable接口

(二)java集合框架综述

一集合框架图 说明:对于以上的框架图有如下几点说明 1.所有集合类都位于java.util包下.Java的集合类主要由两个接口派生而出:Collection和Map,Collection和Map是Java集合框架的根接口,这两个接口又包含了一些子接口或实现类.2. 集合接口:6个接口(短虚线表示),表示不同集合类型,是集合框架的基础.3. 抽象类:5个抽象类(长虚线表示),对集合接口的部分实现.可扩展为自定义集合类.4. 实现类:8个实现类(实线表示),对接口的具体实现.5. Collectio

jdk源码阅读笔记之java集合框架(二)(ArrayList)

关于ArrayList的分析,会从且仅从其添加(add)与删除(remove)方法入手. ArrayList类定义: p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 18.0px Monaco } span.s1 { color: #931a68 } public class ArrayList<E> extends AbstractList<E> implements List<E> ArrayList基本属性: /** *

我所理解Java集合框架的部分的使用(Collection和Map)

所谓集合,就是和数组类似--一组数据.java中提供了一些处理集合数据的类和接口,以供我们使用. 由于数组的长度固定,处理不定数量的数据比较麻烦,于是就有了集合. 以下是java集合框架(短虚线表示接口,长虚线表示抽象类,实线表示类,箭头表示实现接口或者继承)(在网络上找的图,不知道原作者,侵权请联系我删除)(总之,关系很复杂,所以不用记得这个图,只是用来吓吓人而已的). 下面贴上个人理解之精简版之Collection(集)和Map(地图?暂且这么理解吧),话说思维导图蛮好用,以下是两幅思维导图

Java集合框架的知识总结

说明:面试准备,写的挺不错的. 转载地址: http://www.cnblogs.com/zhxxcq/archive/2012/03/11/2389611.html 1.综述 所有集合类都位于java.util包下.集合中只能保存对象(保存对象的引用变量).(数组既可以保存基本类型的数据也可以保存对象). 当我们把一个对象放入集合中后,系统会把所有集合元素都当成Object类的实例进行处理.从JDK1.5以后,这种状态得到了改进:可以使用泛型来限制集合里元素的类型,并让集合记住所有集合元素的类

Java集合框架(一)

Java集合框架结构图完整版 在完整版的结构图中Collection集合和Map下有许多未实现的抽象类(AbstractCollection.AbstractMap等等).下面整理一个简化版的,去除了一些不常用的子类和中间的一些抽象类. Java集合框架结构图简化版 说集合之前先来讲讲对象数组: 对象数组: 数组可以储存基本类型和引用类型,储存引用类型的数组叫对象数组(案例:用数组储存10个Animal类对象) 集合(Collection): a)集合的由来: Java语言是面对对象语言,需要操

Java集合框架实现自定义排序

Java集合框架针对不同的数据结构提供了多种排序的方法,虽然很多时候我们可以自己实现排序,比如数组等,但是灵活的使用JDK提供的排序方法,可以提高开发效率,而且通常JDK的实现要比自己造的轮子性能更优化. 一 .使用Arrays对数组进行排序 Java API对Arrays类的说明是:此类包含用来操作数组(比如排序和搜索)的各种方法. 1.使用Arrays排序:Arrays使用非常简单,直接调用sort()即可 int[] arr = new int[] {5,8,-2,0,10}; Array

java集合框架小结(进阶版)之HashMap篇

基本概念: Hash(哈希):hash一般也译作“散列”.事实上,就是一个函数,用于直接定址.将数据元素的关键字key作为变量,通过哈希函数,计算生成该元素的存储地址. 冲突:函数是可以多对一的.即:多个自变量可以映射到同一函数值.一般而言,不同的key的hash值是不同的.在往hash表中映射的时候,不同的hash值可能映射到同一存储地址,这种情况被称为冲突. 解决冲突的方法: 1. 链表法:将冲突的各个元素用一个一维数组来维护.(java源码实现) 2. 开发寻址法:具体的有线性探测法.二次

Java - 集合框架完全解析

来自:http://www.jianshu.com/p/63e76826e852 数据结构是以某种形式将数据组织在一起的集合,它不仅存储数据,还支持访问和处理数据的操作.Java提供了几个能有效地组织和操作数据的数据结构,这些数据结构通常称为Java集合框架.在平常的学习开发中,灵活熟练地使用这些集合框架,可以很明显地提高我们的开发效率,当然仅仅会用还是不够的,理解其中的设计思想与原理才能更好地提高我们的开发水平.下面是自己对Java集合框架方面的学习总结. 一.概述 二.Collection接