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. C++不能中断构造函数来拒绝产生对象(在构造和析构中抛出异常)

    这是我的感觉,具体需要研究一下- 找到一篇文章:在构造和析构中抛出异常 测试验证在类构造和析构中抛出异常, 是否会调用该类析构. 如果在一个类成员函数中抛异常, 可以进入该类的析构函数. /// @f ...

  2. Unity 地形

    创建一个地形: GameObject —> Create Other —> Terrain; 地形的属性设置:(部分属性后面有另说,表示其他作者有说明过的内容) Base Terrain( ...

  3. COJ 2106 road

    road 难度级别: A: 编程语言:不限:运行时间限制:1000ms: 运行空间限制:131072KB: 代码长度限制:102400B 试题描述   某国有N个城市,这N个城市由M条双向道路连接.现 ...

  4. C语言基础课程 第三课 ADB(Android Debug Bridge)的使用

     由于前面已经发布过Linux的博客了 基础班将Linux基础命令就不单独发表博客了,本节课主要就是利用adb连接手机进行一个Linux基本命令的复习.而且熟悉手机的底层运作,不用界面操作照样也能 ...

  5. 【转】 jni.h头文件详解(二)

    原文网址:http://blog.csdn.net/shaohuazuo/article/details/42932813 作者:左少华 博客:http://blog.csdn.net/shaohua ...

  6. HDOJ 1215 七夕节

    Problem Description 七夕节那天,月老来到数字王国,他在城门上贴了一张告示,并且和数字王国的人们说:"你们想知道你们的另一半是谁吗?那就按照告示上的方法去找吧!" ...

  7. top -bcn -1

    ^[[?1h^[=^[[?25l^[[H^[[2J^[(B^[[mtop #!/bin/bash#echo 性能数据捕捉时间: `date +%Y-%m-%d_%H:%M:%S` \n >> ...

  8. 关于 NoSQL 数据库你应该了解的 10 件事

    四分之一个世纪以来,关系型数据库(RDBMS)一直是主流数据库模型.但是现在非关系型数据库,“云”或者“NoSQL”数据库,正在作为一种替代数据库模型获得越来越多的占有率.本文中我们将关注非关系型 N ...

  9. README 语法编写

    推荐一个超棒的软件 haroopad Standard Markdown \ backslash ` backtick * asterisk _ underscore {} curly braces ...

  10. idea mac 快键键

    alt + 花 + 左右          上一步下一步 shift + 花 + F             全文检索 花 + O                       类查找 alt + 花 ...