博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
集合框架
阅读量:6701 次
发布时间:2019-06-25

本文共 2557 字,大约阅读时间需要 8 分钟。

 

/*集合类  存储对象数组是固定长度,集合石可变长度。数组必须相同类型,集合只要是对象就可以。集合框架     每一个容器对数据的存储结构不同(数据结构)CollectionList      ArrayList   LinkedList   Vector   Set      HashSet    TreeSet*/import java.util.*;class  demo{	public static void main(String[] args) 	{		ArrayList al = new ArrayList();  //集合中存储的都是对象的引用(地址)        //增		al.add("01");//字符串是对象   add(object obj) 可接受任意类型对象。		al.add("02");		al.add("03");		al.add("04");		//查          		al.size();    //集合长度		al.contains("04");  //是否存在04		al.isEmpty();//是否为空		System.out.println(al); //打印				//删		al.remove("03");		al.clear();  //清空		al.retainAll(al2); //取交集,al会保存与al2的交集。	}}

 

/*List  元素是有序的,元素可以重复,该集合体系有索引。		凡是可以操作角标的方法都是该体系特有的方法。		增		add(index,element);		addAll(index,Collection);		删		remove(index);		改		set(index,element);		查		get(index);		subList(from,to);		listIterator();Set  元素是无序的,元素不可以重复,该集合体系没有索引。*/class demo{	public static void main(String[] args)	{			ArrayList al = new ArrayList();			//增			al.add("01");			al.add("02");			al.add("03");					//指定位置  增加			al.add(1,"java");			//指定位置 删除			al.remove(2);						//修改元素			al.set(2,"ccc");			//获取元素			al.get(1);			//获取所有元素   遍历			for (int x=0;x

错误示例:

//在迭代过程中,准备添加或者删除元素			Iterator it = al.iterator();			 while(it.hasNext())            //有元素就返回 true			{					object obj = it.next();					if(obj.equals("02"))   //错误  并发同时访问 有安全隐患					{						al.add()					}			}

 

常用代码:

/*List集合特有的迭代器,ListIterator是Iterator的子接口。在迭代时,不可以通过集合的对象操作集合中的元素,因为会发生异常。Iterator 只能对 元素 进行      判断 取出 删除。ListIterator功能更多。*/			ListIterator  li = al.ListIterator();			while(li.hasNext()) 			{				object obj = li.next();				if(obj.equals("02")) 				{					li.add("09");//在02后面添加09					li.set("100");//把02修改成100				}			}

 

ArrayList 底层的数据结构使用的是数组结构。查询速度快,但是增删稍慢。

线程不同步 可变长度数组

LinkedList 链表数据结构 查询速度慢,但是增删快。

Vector 底层是数组数据结构 线程同步。增删查都慢。(被ArrayList取代)

/*LinkedList 特有方法:addFirst   在前面插入addLast   在后面插入getFirst();  获取最前面的getLast();  获取最后面的如果集合中没有元素,会出现nosuchElementExcptionsize(); 获取元素个数removeFirst  移除第一个元素,并输出被删的元素removeLast  移除最后一个元素,并输出被删的元素如果集合中没有元素,会出现nosuchElementExcption------------------------------------------------------------------------------在JDK1.6出现了替代方法,如果集合中没有元素,会出现nullofferFirst()offerLast();peekFirst();peekLast();pollFirst();pollFirst();*/import java.util.*;class LinkedListDemo{	public static void main(String[] args)	{		LinkedList link = new LinkedList();		link.add("苹果");		link.add("梨子");		link.add("桃子");		while(!link.isEmpty())		{			link.removeFirst();		}	}}
Person p = (Person)it.next();  //obj		p.getName()		p.getAge()

  

转载于:https://www.cnblogs.com/weimingtfm/archive/2012/03/27/2420052.html

你可能感兴趣的文章
【Construct Binary Tree from Inorder and Postorder Traversal】cpp
查看>>
【Pascal's Triangle II 】cpp
查看>>
【MPI学习3】MPI并行程序设计模式:不同通信模式MPI并行程序的设计
查看>>
CCScene切换的所有特效(28种)以及设置屏幕横竖屏!
查看>>
深度解析Cocoa异步请求和libxml2.dylib教程(1)
查看>>
work2的code和问题
查看>>
Java高级应用开发之Servlet
查看>>
图片延迟加载和滑动翻页
查看>>
oracle 函数
查看>>
无密码登陆
查看>>
iOS 数据持久化-- FMDB
查看>>
oracle中scn(系统改变号)
查看>>
python 练习题
查看>>
eclipse问题_Alt+/不给提示,只补充代码问题的解决方案
查看>>
java 程序中打开文件和文件夹
查看>>
书籍推荐-记这几年看的书
查看>>
ROS系统玩转自主移动机器人(3)-- 开源机器人结构介绍
查看>>
HIVE ORC 报错ClassCastException
查看>>
例题练习
查看>>
下拉框——把一个select框中选中内容移到另一个select框中遇到的问题
查看>>