List的三个子类,泛型,增强for循环

List的三个子类的特点
ArrayList:
底层数据结构是数组,查询快,增删慢。
线程不安全,效率高。
Vector:
底层数据结构是数组,查询快,增删慢。
线程安全,效率低。
LinkedList:
底层数据结构是链表,查询慢,增删快。
线程不安全,效率高。
List接口:
ArrayList:底层数据结构是数组,查询快,增删慢,线程不安全,效率高 可以存储重复元素

int indexOf (Object o)返回此列表中指定元素的第一个出现的索引,或 - 如果此列表不包含元素,或 - 1。
void sort (Comparator < ? super E > c)分类列表使用提供的 Comparator比较元素。
List<E> subList ( int fromIndex, int toIndex)返回一个视图之间的指定 fromIndex,包容,和 toIndex这份名单的部分,独家。
// Object[] toArray () 返回一个数组,包含在这个列表中的所有元素在适当的顺序(从第一个到最后一个元素)。
LinkedList 底层数据结构是链表,查询慢,增删快,线程不安全,效率高
LinkedList类特有功能
public void addFirst (E e)及addLast(E e)
public E getFirst () 及getLast()
public E removeFirst () 及public E removeLast()
Vector:底层数据结构是数组,查询快,增删慢,线程安全,效率低。
E elementAt(int index)
返回指定索引处的组件。
Enumeration<E> elements()
返回此向量的组件的枚举。
E firstElement()
返回第一个组件(在指数 0项目)这个载体。
E lastElement()
返回向量的最后一个组件。

泛型机制:JDK1.5之后引入的一个新特性
泛型机制是一种把数据类型明确工作推迟到创建对象或调用方法时才去明确的一种机制
泛型的语法 <数据类型,数据类型> 数据类型只能写引用数据类型
泛型只在编译期间有效,在运行期就擦除了
泛型的好处1.把问题提前到了编译期

  1. 避免了向下转型
    泛型定义的位置:可以定义在接口,类,方法上面

JDK1.5之后 有一个 新式for循环
普通for循环:
for (int i=0;i<integers.size();i++){
System.out.println(integers.get(i));
}
System.out.println("---------------------------");
//Integer num 容器中的数据类型 以及元素的变量名
//integers 容器名
增强for循环:
for (Integer num: integers){
System.out.println(num);
}

Collection:
public boolean add(E e)
确保此集合包含指定的元素
public boolean addAll(Collection c)
将指定集合中的所有元素添加到这个集合
public void clear()
从这个集合中移除所有的元素
public boolean remove(Object o)
从这个集合中移除指定元素的一个实例,如果它是存在的
public boolean removeAll(Collection c)
删除此集合中包含的所有元素(可选操作)的所有元素(可选操作)。
public boolean contains(Object o)
返回 true如果集合包含指定元素
public boolean containsAll(Collection c)
返回 true如果这个集合包含指定集合的所有元素。
public boolean isEmpty()
返回 true如果集合不包含任何元素。
public Iterator<E> iterator()
返回此集合中的元素的迭代器
public boolean retainAll(Collection<?> c)
仅保留包含在指定集合中的这个集合中的元素(可选操作)。
public int size()
返回此集合中的元素的数目。
public Object[] toArray()
返回包含此集合中所有元素的数组。
List:
public void add(int index, Object element)
将指定的项目添加到滚动列表的结束时。
public Object remove(int index)
从这个滚动列表中移除指定位置上的项目。
public Object set(int index, Object element)
去除或者修复Object方法
public Object get(int index)
返回列表中指定位置的元素。
public ListIterator listIterator()
列表迭代器(List集合特有的迭代器)
Vector
public void addElement(E obj)
添加指定的组件到这个向量的结束,增加其大小由一个
public E elementAt(int index)
返回指定索引处的组件。
public boolean removeElement(Object obj)
从该向量中移除第一个(最低索引)发生的参数。
public void removeElementAt(int index)
在指定的索引中删除组件。
public void setElementAt(E obj, int index)
设置组件在指定的 index这个向量是指定的对象
public Enumeration<E> elements()
返回此向量的组件的枚举。
Enumeration
public boolean hasMoreElements()
测试此枚举是否包含更多元素。
public Object nextElement()
返回此枚举的下一个元素,如果此枚举对象至少有一个元素可以提供。
LinkedList
public void addFirst(E e)
在此列表的开始处插入指定的元素。
public void addLast(E e)
在此列表的结尾处插入指定的元素。
public E getFirst()
返回此列表中的第一个元素。
public E getLast()
返回此列表中的最后一个元素。
public E removeFirst()
移除并返回此列表中的第一个元素
public E removeLast()
移除并返回此列表中的最后一个元素

原文地址:http://blog.51cto.com/13852519/2153784

时间: 2024-11-02 16:13:43

List的三个子类,泛型,增强for循环的相关文章

一、javaSE (十六)List的子类、泛型、增强for循环、静态导入、可变参数

1:List的子类(掌握) (1)List的子类特点 ArrayList: 底层数据结构是数組,查迿快,增删慢 线程不安全,效率高 Vector: 底层数据结构是数組,查询快,增删慢 线程安全,效率低 LinkedList: 底层数据结枃是链表,查询慢,增删快 线程不安全,效率高 (2)Arraylist A:没有特有功能需要学习 B:案例 a: Arraylist存储字符串并遍历 b: Arraylist存储自定义对象并遍历 (3)Vector A:特有功能 a:添加: public void

Java——集合(Collection接口),迭代器,增强for循环,泛型

一.集合 Collection接口中的方法是集合中所有实现类必须拥有的方法. ArrayList implements List List extends Collection 1.基本使用 其他 import java.util.ArrayList; /* * 集合体系, * 目标 集合本身是一个存储的容器: * 必须使用集合存储对象 * 遍历集合,取出对象 * 集合自己的特性 */ public class ArrayListDemo { public static void main(St

day191、集合 2、Iterator迭代器 3、增强for循环 4、泛型

今日内容介绍 1.集合 2.Iterator迭代器 3.增强for循环 4.泛型 =======================第一节课开始============================================= ###01集合使用的回顾 *A:集合使用的回顾 *a.ArrayList集合存储5个int类型元素 public static void main(String[] args) { ArrayList<Integer> list = new ArrayList<

java基础第十二篇之集合、增强for循环、迭代器和泛型

Collection接口中的常用方法: * 所有的子类子接口都是具有的 * 集合的方法:增删改查 * * public boolean add(E e);//添加元素 返回值表示是否添加成功 * public boolean remove(Object o);//删除元素,返回值表示是否删除成功 * 没有修改方法 * 查询元素的方法没有,但是 * public int size();//查询集合集合中元素的个数 * //其他方法: * public void clear();//清空集合 * p

java基础(18):集合、Iterator迭代器、增强for循环、泛型

1. 集合 1.1 集合介绍 集合,集合是java中提供的一种容器,可以用来存储多个数据. 在前面的学习中,我们知道数据多了,可以使用数组存放或者使用ArrayList集合进行存放数据.那么,集合和数组既然都是容器,它们有啥区别呢? 数组的长度是固定的.集合的长度是可变的.集合中存储的元素必须是引用类型数据 1.2 ArrayList集合存储元素 练习一:ArrayList集合存储5个int类型元素 public static void main(String[] args) { ArrayLi

JAVA中List的三个子类。

JAVA中List的三个子类分别是:ArrayList,Vector,LinkList.下面就来比较一下他们的不同. ArrayList:底层数据结构是数组,查询快,增删慢,线程不安全,效率高. Vector:底层数据结构是数组,查询快,增删慢,线程安全,效率高. LinkList:底层数据是链表,查询慢,增删快,线程不安全,效率高. 关于何时使用这几类: 一般情况下,不使用Vector.查询多,使用ArrayList.增删多,使用LinkList.都多用ArrayList.

java 反射 子类泛型的class

很早之前写过利用泛型和反射机制抽象DAO ,对其中获取子类泛型的class一直不是很理解.关键的地方是HibernateBaseDao的构造方法中的 [java] view plaincopy Type genType = getClass().getGenericSuperclass(); Type[] params = ((ParameterizedType) genType).getActualTypeArguments(); entityClass =  (Class)params[0]

Java的Iterator迭代器补充,增强for循环,泛型,List接口,set接口

1.Iterator迭代器:(1)类型转换异常:ClassCastException:集合中存放的是多个对象时,在强转时会出现: package com.oracle.demo01; import java.util.ArrayList; import java.util.Collection; import java.util.Iterator; public class demo01 { public static void main(String[] args) { method03();

javaAPI_集合基础_List的三个子类基本使用

List的三个子类基本使用 ArrayList 1.ArrayList类概述 ArrayList的底层数据结构是数组,查询快,增删慢.属于线程不安全,但是效率高. 2.ArrayList使用案例[使用ArrayList存储对象并遍历] public static void main(String[] args) { ArrayList lt = new ArrayList(); lt.add("hello"); lt.add("world"); lt.add(&qu