6、Collection(List集合)
来源:互联网 发布:2017人工智能最新消息 编辑:程序博客网 时间:2024/06/06 03:43
List:
|--List 元素是有序的,元素可以重复,因为该集合体系有索引。
|--ArrayList:底层数据结构使用的是数组结构,特点:查询速度很快,但是增删慢,线程不同步注意:对于判断的元素是否存在,以及删除等操作,只依赖equals方式
|--LinkedList:底层使用的链接数组结构。特点:增删速度快,查询慢
List
特有方法。凡是可以操作角标的方法都是该体系特有的方法。
增
add(index,element);
addAll(index,Collection);
删
remove(index);
改
set(index,element);
查
get(index);
subList(from,to);
listIterator();
ArrayList例子
import java.util.ArrayList;import java.util.Iterator; public class ArrayListDemo2 { public static void main(String[] args) { ArrayList arr = new ArrayList(); arr.add(new Person("李鸿章", 60)); arr.add(new Person("李鸿章", 60)); arr.add(new Person("袁世凯", 58)); arr.add(new Person("张作霖", 65)); arr = singleElement(arr); for(Iterator it = arr.iterator(); it.hasNext();) { Person p = (Person)it.next(); System.out.print(p.toString()+" "); } } public static ArrayList singleElement(ArrayList arr) { ArrayList newArray = new ArrayList(); for(Iterator it = arr.iterator(); it.hasNext();) { Object obj = it.next(); //判断如果obj里面为空 则传入新的元素 if(!(newArray.contains(obj))) newArray.add(obj); } return newArray; }} class Person{ private String name; private int age; public Person(String name,int age) { this.name = name; this.age = age; } public void setName(String name) { this.name = name; } public void setAge(int age) { this.age = age; } public String toString() { return this.name+this.age; } public boolean equals(Object obj) { if(!(obj instanceof Person)) return false; Person p =(Person)obj; return this.name.equals(p.name) && this.age == p.age; }}
LinkedList
JDK1.0版本的写法
addFirst();
addLast();
?
getFirst(); //先进后出
getLast();//先进先出
可以获取元素,但不能删除元素,如果集合中没有元素,会抛出NoSuchElementException
removeFirst();
removeLast();
可以获取元素,但元素被删除,如果集合中没有元素,会抛出NoSuchElementException
JDK1.0版本以上的写法
offerFirst();
offerLast();
peekFirst();//先进后出
peekLast();//先进先出
获取元素,但不删除元素。如果集合中没有元素,会返回null。
pollFirst();
pollLast();
获取元素,但是元素被删除。如果集合中没有元素,会返回null。
LinkedList 例子
import java.util.LinkedList;public class LinkedListDemoTest { public static void main(String[] args) { DuiLie link = new DuiLie(); link.myAdd("1"); link.myAdd("2"); link.myAdd("3"); link.myAdd("4"); while (!link.isNull()) { System.out.println(link.myGet()); } } } class DuiLie{ private LinkedList link; public DuiLie() { link = new LinkedList(); } public void myAdd(Object obj) { link.addFirst(obj); } public Object myGet() { return link.getFirst(); } public boolean isNull() { return link.isEmpty(); }}
0 0
- 6、Collection(List集合)
- Collection集合、List集合
- Java基础知识 八 集合(Collection、List)
- Collection集合之List
- Collection:List集合
- 集合Collection之List
- 集合之Collection、List
- Collection之List集合
- 集合类,Collection,List
- 集合Collection,list
- 集合(一)Collection、List集合、Set集合
- 集合Collection <List,Set> 枚举
- 黑马程序员---集合-Collection,List
- Collection 集合List 和set2
- 5. Collection 集合List,Set
- 6.1Collection与List集合
- 集合:Collection API 以及List
- Java集合Collection转List
- 魔方阵
- Linux中断机制之二:初始化
- 信号通讯
- C++框架
- 【线性筛求欧拉函数】HDU 2824
- 6、Collection(List集合)
- The Balance
- Linux中断机制之三:中断的执行
- listener.ora/sqlnet.ora/tnsnames.ora配置文件详解
- 【内部排序】六:直接选择排序(Straight Selection Sort)详解与代码
- cmake 学习之路 笔记<一>
- F - Subtract
- 对类的认识
- java中String类常用方法总结