1 <e>里面只能填类,不能用基本数据类型,不过integer 这样的的也行

2在模板类(泛型类中)class demo<e>由于不知道e是那个,所有通常都是重写大家都有的toString()方法来调用

泛型的作用主要是为了建立具有类型安全的数据结构

如果没有泛型

LinkedList 使用add方法的时候,由于所有类都是object的子类,所以都可以添加

String s=(String) linkedList1.get(i)需要类型转换

然而有了泛型就没有上面的问题,LinkedList<String>已经说明了都是String

测试代码

package cgfg;

public class Test{
public static void main(String args[]){
bb test1=new bb(1);
bb test2=new bb(2);
demo<bb> demo1=new demo<bb>();
demo<bb> demo2=new demo<bb>();
demo1.setE(test1);
demo2.setE(test2);
demo1.show();
demo2.show(); }
} class demo<E>{
E e;
void setE(E a){
e=a;
}
void show(){
String s=e.toString();
double a=Double.parseDouble(s)*2;
System.out.println(a);
}
} class bb{
double a;
bb(double a){
this.a=a;
}
public String toString(){
return ""+a; }
}

迭代器

迭代器比手动遍历快,一般的迭代器用法

Iterator<String> iterator1=list1.iterator();
for(;iterator1.hasNext();){
String s=iterator1.next();
}

完整测试

package cgfg;

import java.util.Iterator;
import java.util.LinkedList; public class Test{
public static void main(String args[]){
LinkedList<String> list1=new LinkedList<String>();
for(int i=0;i<60000;i++){
list1.add(i+"");
}
Iterator<String> iterator1=list1.iterator();
long start=System.currentTimeMillis();
for(;iterator1.hasNext();){
String s=iterator1.next();
}
long end=System.currentTimeMillis();
System.out.println(end-start);
start=System.currentTimeMillis();
for(int i=0;i<list1.size();i++){
String s=list1.get(i);
}
end=System.currentTimeMillis();
System.out.println(end-start);
}
}

LinkedList<e>常用方法

public boolean add(E e)
public void add(index ,E e)//在一个位置添加
public void clear()//全部清除
public E remove(int index)//按位置删除
public boolean remove(E e)//按值删除
public E get(index)//得到该位置的值
public int indexOf(E e)//得到该值的位置
public E set(int a,E e)//把 a 位置的值改为 e
public int size()//返回大小
public E getFirst()
public E getLast()
public E removeFirst()
public E removeLast()
public Object clone()//返回一个克隆的链表

泛型,迭代器,LinkedList<E>的更多相关文章

  1. Java—增强for循环与for循环的区别/泛型通配符/LinkedList集合

    增强for循环 增强for循环是JDK1.5以后出来的一个高级for循环,专门用来遍历数组和集合的. 它的内部原理其实是个Iterator迭代器,所以在遍历的过程中,不能对集合中的元素进行增删操作. ...

  2. 迭代器Iterator、for循环遍历、泛型

    java.util.Collection接口 是集合的最顶层的接口,定义了集合共性的方法 接口无法直接创建对象,使用多态的方式创建对象 Collection<集合中的数据类型(泛型)> c ...

  3. Java泛型学习笔记--Java泛型和C#泛型比较学习(一)

    总结Java的泛型前,先简单的介绍下C#的泛型,通过对比,比较学习Java泛型的目的和设计意图.C#泛型是C#语言2.0和通用语言运行时(CLR)同时支持的一个特性(这一点是导致C#泛型和Java泛型 ...

  4. java源码学习(五)LinkedList

    LinkedList [TOC] 一.定义 public class LinkedList<E> extends AbstractSequentialList<E> imple ...

  5. java基础(7)集合与泛型

    第一部分:Collection集合 1 collection集合概述 集合按照其存储结构可以分为两大类,分别是单列集合java.util.Collection和双列集合java.util.Map. C ...

  6. 01 语言基础+高级:1-6 集合_day02【Collection、泛型】

    day02[Collection.泛型] 主要内容 Collection集合 迭代器 增强for 泛型 教学目标 能够说出集合与数组的区别 说出Collection集合的常用功能 能够使用迭代器对集合 ...

  7. java语言进阶(二)_Collection_泛型

    主要内容 Collection集合 迭代器 增强for 泛型 第一章 Collection集合 1.1 集合概述 在前面基础班我们已经学习过并使用过集合ArrayList ,那么集合到底是什么呢? 集 ...

  8. JDK1.8源码(六)——java.util.LinkedList 类

    上一篇博客我们介绍了List集合的一种典型实现 ArrayList,我们知道 ArrayList 是由数组构成的,本篇博客我们介绍 List 集合的另一种典型实现 LinkedList,这是一个有链表 ...

  9. Java 泛型学习总结

    前言 Java 5 添加了泛型,提供了编译时类型安全检测机制,该机制允许程序员在编译时检测到非法的类型. 泛型的本质是参数化类型,可以为以前处理通用对象的类和方法,指定具体的对象类型.听起来有点抽象, ...

  10. Java之Iterator接口(遍历单列集合的迭代器)

    Iterator接口概述 在程序开发中,经常需要遍历集合中的所有元素.针对这种需求,JDK专门提供了一个接口java.util.Iterator . Iterator 接口也是Java集合中的一员,但 ...

随机推荐

  1. bzoj1135

    POI阴影又发作了但这道题挺好的,比较涨知识裸的想法是裸的每次二分图匹配,但显然会TLE这里就要引入Hall定理:二分图G中的两部分顶点组成的集合分别为X, Y, X={X1, X2, X3,X4,. ...

  2. bzoj2730

    首先不难想到要先求割顶,求割顶的方法白书上有讲解由于是一个矿崩塌,所以假如一个连通块连接了两个以上割顶,那么这个连通块内显然是不用设出口的连接块只连接了一个割顶,那么出口可以设在这个连通块内任意位置由 ...

  3. oracle存储过程 --1

    一,oracle存储过程语法   1.oracle存储过程结构  CREATE OR REPLACE PROCEDURE oracle存储过程名字 (     参数1 IN NUMBER,     参 ...

  4. 【转】寻找最好的笔记软件:三强篇(EverNote、Mybase、Surfulater) (v1.0) (

    原文网址:http://blog.sina.com.cn/s/blog_46dac66f01000b57.html 寻找最好的笔记软件:三强篇(EverNote.Mybase.Surfulater) ...

  5. 图论(网络流):COGS 410. [NOI2009] 植物大战僵尸

    410. [NOI2009] 植物大战僵尸 ★★★   输入文件:pvz.in   输出文件:pvz.out   简单对比时间限制:2 s   内存限制:512 MB [问题描述] Plants vs ...

  6. 【有源汇上下界最大流】ZOJ 3229 Shoot the Bullet

    题目链接: http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=3229 题目大意: n天给m个女孩拍照(1<=n<= ...

  7. WPF的登录界面的排版

    一:截图 二:XAML代码 <Window x:Class="wpf练习.登录窗体" xmlns="http://schemas.microsoft.com/win ...

  8. legoblock秀上限

    很久没有做题了,前天做了一道题结果弱的一逼...搜了解题报告不说...还尼玛秀了上限 题意: 给出宽和高为n和m的一堵墙,手上有长为1,2,3,4高均为1的砖,问形成一个坚固的墙有多少种做法. 坚固的 ...

  9. 《JavaScript语言精髓与编程实践》读书笔记一

    受到狗哥书单的影响,看到了豆瓣上的评论,买了这本书,然后囫囵吞枣似地用一个月的时间看完了.回头想想自己做的js项目,感觉都羞愧-什么东西都是拿来尝试了一下就用了,其实有很多写得超级丑的地方,看完这个让 ...

  10. openStack CentOS虚拟桌面iptables初始化配置