Java集合框架的一些总结
来源:互联网 发布:java获取浏览器类型 编辑:程序博客网 时间:2024/05/21 14:06
集合框架
- 集合的相关概念 : 集合(Collection),即容器(Container),是用来存放数据的盒子。Java中提供了很多的集合类。Java容器类的作用是用来“保存对象”,是可变长的对象数组。其可分为两种类型。(1)Collection(称为集合):一个独立元素的序列。(2)Map(称为映射表或图):一组成对的“键/值”对象。
- 集合的一些基本操作: (声明:建议具体操作时查API后再使用)
(1)创建List集合对象 List names=new ArrayList();
(2)往集合中添加数据(使用add方法) names.add(“张三”) ;
(3)获取集合大小(使用size方法) System.out.println(“集合大小为:”+names.size());
(4)删除数据(使用remove方法) names.remove(1); //删除2条数据
(5)修改数据(使用set方法) names.set(2,”赵七”); //修改第3条数据
(6)获取数据(使用get方法) //获取第3条数据 System.out.println(“第3条数据为:”+names.get(2));
(7)遍历集合元素 通过集合获取迭代器对象: Iterator it = c.iterator(); 遍历集合: while(it.hasnext()){ String s = (String)it.next() System.out.println(s); } (这里事实上用for循环效率更高)
4 集合的一般使用步骤
A. 创建集合对象
B. 创建元素对象
C. 将元素对象存储到集合中
D. 遍历集合
a) 通过集合获取迭代器对象
b) 通过迭代器对象hasNext() 方法来判断是否还有元素
c) 通过next() 方法来获取元素,并移到下一个位置。
5. List集合的特有功能(具体使用时,先查API再使用,ArrayList)
1. 添加功能:void add(int index,object element) : 在指定位置添加元素
2. 获取功能:Object get(int index): 获取指定位置的元素
3. 列表迭代器 ListIterator listIterator():list集合特有的迭代器
4. 删除功能 Object remove(int index) : 根据索引删除元素,返回被删除的元素
5. 修改功能 Object set(int index,Objectelement):根据索引修改元素,返回被修改的元素
6 并发修改异常 :迭代器遍历元素的时候,是不能通过集合修改元素的。
解决方案一;迭代器迭代元素,迭代器修改元素
//使用迭代器遍历元素,
ListIterator list= li.listIterator();
while(list.hasNext()){
if("world".equals(list.next()))
{
list.add("javaee");
}
}
System.out.println(li);
解决方案二 : 使用集合遍历,使用集合修改
for(int i = 0;i <li.size();i++){
String s =(String)li.get(i);
if("world".equals(s)){
li.add("javaee");
}
}
System.out.println(li);
7. List三个子类的特点:
数组的特点是查询快,增删慢;链表的特点是查询慢,增删快;栈的特点是先进后出;队列的特点是先进先出。
ArrayList:底层数据结构是数组,查询快,增删慢。线程不安全,效率高。
Vector:底层数据结构是数组,查询快,增删慢。线程安全,效率低。
LinkedList :底层是链表,查询慢,增删快,线程不安全,效率高。
Map接口
Map中每项都是成对出现的,它提供了一组键值的映射。其中存储的每个对象都有一个相应的关键字(key),关键字决定了对象在Map中的存储位置。关键字应该是唯一的,每个key只能映射一个value。
用put(Objectkey,Objectvalue)方法即可将一个键与一个值对象相关联。用get(Objectkey)可得到与此key对象所对应的值对象。
Map person=new HashMap();
person.put(“姓名”,“张三”);
System.out.println(“集合大小为:”+person.size());
person.remove(“身高”); //删除”身高”的数据
//获取“爱好”数据
System.out.println(“爱好为:”+ person.get(“爱好”));遍历Map的方法大约有3种,这里采用“迭代器”方式遍历。
Iteratorit =person.entrySet().iterator();
while(it.hasNext()){
Map.Entry m=(Map.Entry)it.next();
System.out.println("键:"+ m.getKey() + ",值:"+ m.getValue());
}
- Java集合框架的一些总结
- java集合框架的总结
- Java集合框架的总结
- Java集合框架的总结
- java集合框架的总结
- Java集合框架总结
- java集合框架总结
- Java集合框架总结
- Java集合框架总结
- java集合框架总结
- java集合框架总结
- Java集合框架总结
- java集合框架总结
- Java集合框架总结
- Java集合框架总结
- java集合框架总结
- Java集合框架总结
- JAVA 集合框架总结
- 新版android studio去掉cmake
- 类与对象第四题
- 文章标题
- CSP考试 2017年9月第1题 打酱油 C++实现
- 用户组的建立和权限修改
- Java集合框架的一些总结
- 码云上传小工具
- 四则运算练习器
- Redis事务详解
- 模板类与类模板、函数模板与模板函数等的区别
- 406. Queue Reconstruction by Height Difficulty : Medium
- SpringMVC快速入门记录(一)
- HDU 1874 畅通工程续
- 移动Web开发Day1