黑马程序员——java集合框架——List接口
来源:互联网 发布:手机淘宝我的分享 编辑:程序博客网 时间:2024/06/04 19:55
------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! -------
java集合框架——List
简介:集合框架:一组专门用来存储其他对象的类(对象容器类)和接口的设计结构,统称为集合框架。而这组类的功能就是实现各种方式的数据存储。
Collection接口:1、Set接口:存放的元素是无序并且不包含重复元素2、List接口:存放的元素是有序并且允许有重复元素
注: 这2种接口中的元素:即对象引用,元素类型都为Object
这2种接口中的重复:是指两个对象用过equals判断相等这2种接口中的有序:是指元素存入的顺序与取出的顺序相同
List接口三种实现类:
1、ArrayList类:
是对象引用的一个变长数组,能够动态的添加或减少其大小
注:对于使用索引取出元素有较高的效率,能够利用索引快速定位。但是对元素的删除和插入速度较慢,因为使用的数组,需要移动后面的元素以调整索引顺序
public class ListDemo {public static void main(String[] args) {Collection c1 = new ArrayList();// 实例化一个具体的子类对象for (int i = 0; i < 5; i++) {c1.add(new Integer(i));}// 循环添加10个整型类对象System.out.println("c1:" + c1);Collection c2 = new ArrayList();c2.addAll(c1);// 将集合c1添加到c2集合对象中的操作c2.remove(new Integer(3));// 删除c2.add("haha");// 添加System.out.println("c2:" + c2);Iterator it = c2.iterator();while (it.hasNext()) {Object obj = it.next();System.out.println("Iterator遍历c2" + obj+"\t");}}}
结果如图:
2、LinkedList类:
提供了一个链接列表数据结构,LinkedList容器类通过连接指针来关联前后两个元素
注:因为LinkedList是使用双向链表实现的容器,所以频繁的插入坏人删除元素,使用LinkedList类效率较高,适合实现栈和队列public final class LinkedListDemo {public static void main(String[] args) {LinkedList linklst = new LinkedList();linklst.add("F");linklst.add("B");linklst.add("D");linklst.add("E");linklst.add("C");System.out.println("显示初始化后linklst的内容:" + linklst);linklst.addLast("Z");linklst.addFirst("A0");linklst.add(1, "A1");System.err.println("显示添加操作后linklst的内容:" + linklst);// 执行删除F元素操作linklst.remove("F");// 执行删除第二个元素linklst.remove(2);System.out.println("显示删除操作后linklst的内容:" + linklst);// 执行删除第一个元素linklst.removeFirst();// 执行删除最后一个元素linklst.removeLast();System.out.println("显示删除操作后linklst的内容:" + linklst);// 获取第二个元素Object val = linklst.get(2);// 修改内容linklst.set(2, (String) val + "Changed");System.out.println("显示修改操作后linklst的内容:" + linklst);}}
结果如图所示:
3、Vector类:
提供了实现可增长数组的功能。
注:Vector类的大多数操作和ArrayList类相同,区别在于Vector类是线程同步的。public class VectorDemo {public static void main(String[] args) {Vector v = new Vector();v.add("one");v.add("two");v.add("three");System.out.println("显示向量初始值" + v.toString());v.insertElementAt("zero", 0);v.insertElementAt("oop", 3);System.out.println("显示插入元素后向量值" + v.toString());v.setElementAt("three", 3);v.setElementAt("four", 4);System.out.println("显示修改元素后向量值" + v.toString());v.removeAllElements();System.out.println("显示删除元素后向量值" + v.toString());}}
结果如图:
注:java的集合与数组的区别在于:在创建java数组时,必须明确指定数组的长度,数组一旦创建,其长度就不能被改变。为了使程序能方便的存储、检索和操纵数目不固定
的一组数据,JDK类库提供了java集合,所以java集合类都位于java.util包中。另外java集合中不能存放基本类型数据,而只能存放对象的引用。
0 0
- 黑马程序员—集合框架Collection接口与List接口
- 黑马程序员——java集合框架——List接口
- 黑马程序员——JAVA基础----------集合框架(一)----list接口
- 黑马程序员——集合框架-List
- 黑马程序员——集合框架&List
- 黑马程序员——集合框架&List
- 黑马程序员——【Java】集合框架——List
- 黑马程序员——Java集合框架—List
- 黑马程序员java学习—集合框架List和Set
- 黑马程序员——Java集合框架—Queue接口
- 黑马程序员——集合框架collection集合接口及List子类
- 黑马程序员——集合框架2:List集合
- 黑马程序员——高新技术---Java基础-集合框架-集合Collection,List
- 黑马程序员——集合中List接口
- 黑马程序员——Java集合框架
- 黑马程序员——Java集合框架
- 黑马程序员——java集合框架
- 黑马程序员——java-集合框架
- 【C语言深入】[001] static 关键字:
- Skype for Business iOS版正式发布
- 对Hadoop二次排序的理解
- UVALive 4264 Message(Regionals 2008 :: Asia - Taipei+模拟)
- [sicily]1153. 马的周游问题
- 黑马程序员——java集合框架——List接口
- 思想
- jsp页面加载时自动执行action
- 101 php 正则表达式
- Java并发编程:Timer和TimerTask
- Mybatis中的常用sql
- 圆与任意多边形交的长度
- LVS Nginx HAProxy 优缺点
- flash与字符串:抽离安卓xml描述文件ID