`

Java 泛型 内部链式存储机制

    博客分类:
  • J2SE
 
阅读更多
泛型方法:无论何时,只要你能做到,你就应该尽量使用泛型方法。也就是说,如果使用泛型方法可以取代整个类泛型化,那么就应该只使用泛型方法。

public class LinkedStack<T> {
	private/* static */class Node<U> {
		U item;
		Node<U> next;

		Node() {
			item = null;
			next = null;
		}

		Node(U item, Node<U> next) {
			this.item = item;
			this.next = next;
		}

		boolean end() {
			return item == null && next == null;
		}

		@Override
		public String toString() {
			return "Node [item=" + item + ", next=" + next + "]";
		}
		
		
	}

	private Node<T> top = new Node<T>();

	public void push(T item) {
		top = new Node<T>(item, top);
	}
	
	public T pop(){
		T result = top.item;
		if(!top.end()){
			top = top.next;
		}
		return result;
	}
	
	public static void main(String[] args) {
		LinkedStack<String> lss = new LinkedStack<String>();
			for(String s : "Phasers on stun!".split(" ")){
				lss.push(s);
			}
		String s;
		while((s=lss.pop()) != null){
			System.out.println(s);
		}
	}
}
分享到:
评论
1 楼 kazy 2012-06-08  
挺有意思的

相关推荐

    java核心基础技术卷,(基础语法,面向对象,异常,泛型,IO,枚举,反射机制,集合,内部类,)

    "Java核心基础技术卷详解" ...Java 核心基础技术卷涉及到 Java 的基础语法、面向对象、异常、泛型、IO、枚举、反射机制、集合、内部类等多方面的知识点,为 Java 开发者提供了一个全面的学习指南。

    java内部学习笔记.docx

    14. List集合的实现类ArrayList和LinkedList:线性和链式存储结构。 15. Iterator迭代器:遍历集合的接口。 16. 泛型:提供类型安全,避免强制类型转换。 17. 增强型for循环:简化集合遍历。 18. List高级:如Queue...

    JAVA 知识大全 PPT

    1.1 Java语法:包括变量声明、数据类型(基本类型和引用类型)、运算符、流程控制语句(if、for、while、switch等)以及异常处理机制。 1.2 类与对象:Java是面向对象的语言,类是对象的蓝图,而对象是类的实例。...

    Java基础知识谱系图最新修订版(很详细权威)

    Java基础知识谱系图是Java初学者和进阶者的重要参考资料,它涵盖了Java语言的核心概念、语法结构以及常用库。这份最新修订版详细地列出了Java编程的各个方面,旨在为学习者提供一个清晰的学习路径和全面的理解框架。...

    java1.8 jdk1.8中文帮助文档.chm api下载

    5. **反射和注解**:`java.lang.reflect`包提供了反射机制,允许在运行时检查类、接口、字段和方法的详细信息,动态调用方法。注解(Annotation)是元数据的一种形式,可以通过`@interface`关键字定义,用于提供编译...

    常用apijava

    6. 泛型:Java泛型提高了代码的类型安全性和重用性,允许在集合和其他容器中指定元素类型。 7. 异常处理:Java异常处理通过try-catch-finally语句块来捕获和处理程序运行时可能出现的问题,提供了一种优雅的错误...

    JAVA自测题,相当于sun认证考试

    7. **泛型**:泛型是Java 5引入的特性,用于增强类型安全,减少类型转换的麻烦。 8. **反射机制**:Java反射机制允许在运行时动态地获取类的信息并操作类的对象,包括创建对象、调用方法、访问字段等。 9. **枚举*...

    Java语言程序设计-原书第10版-答案及源代码

    15. **Stream API**:Java 8的Stream API提供了对集合进行操作的新方式,支持并行处理和链式操作。 这些知识点在《Java语言程序设计-原书第10版》中都有详细讲解,并在提供的答案及源代码中得以实践。通过深入学习...

    java精华学习笔记

    - **泛型**: 提高代码安全性,限制集合只能存储特定类型的对象。 5. **输入输出流** - 文件I/O:使用FileReader/Writer处理文本文件,FileInputStream/FileOutputStream处理二进制文件。 - 缓冲流:...

    Java速查手册

    4. **集合框架**:Java集合框架提供了多种数据结构,如ArrayList、LinkedList、HashSet、HashMap等,它们用于存储和操作对象,提供了丰富的操作方法,如添加、删除、查找元素等。 5. **输入/输出(I/O)**:Java的I...

    Java300集源码

    10. **泛型**:泛型提供了一种方式来限制容器中存储的数据类型,增强类型安全性,并减少类型转换。 11. **注解(Annotation)**:注解提供元数据,可以用于编译时或运行时处理,如Spring框架中的依赖注入就是通过...

    ABSOLUTE JAVA™ 5 th Edition (2013)

    第13章“接口和内部类”深入探讨了Java中接口的作用,以及如何使用内部类来封装相关逻辑。 第14章“泛型和ArrayList类”展示了泛型在类型安全方面的应用,以及ArrayList作为动态数组的使用。 第15章“链式数据结构...

    JAVA2核心技术 卷1 基础知识 第7版 pdf

    8. **异常处理**:Java提供了异常处理机制,通过try-catch-finally语句块捕获和处理程序运行时可能出现的错误。 9. **数组**:数组是相同类型的数据集合,Java支持一维、二维及多维数组,并有数组遍历和操作的方法...

    java72-java-advance源代码.zip

    4. **反射**:Java反射机制允许程序在运行时动态地获取类的信息并调用其方法,源码中可能涉及类、接口、构造函数和方法的反射操作。 5. **注解(Annotation)**:源码可能包含自定义注解和元注解的使用,以及如何通过...

    java的API文档

    14. **Stream API**:同样在Java 8中加入,提供了对集合进行操作的链式编程风格,便于数据过滤、映射和归约。 15. **日期和时间API**:Java 8改进了日期和时间的处理,`java.time`包下的`LocalDate`、`LocalTime`、...

    JAVA快速查询手册 学习语法好助手

    泛型类、泛型方法和泛型接口都可以使用类型参数,限制了容器中存储的元素类型。 十一、反射 Java反射API允许程序在运行时动态获取类的信息并调用其方法。Class类代表类的运行时信息,Constructor、Method和Field类...

    java-s-litengbin的图床.zip

    11. **泛型**:自Java 5起引入,泛型提高了代码的类型安全性,允许在类、接口和方法中使用类型参数。 12. **注解(Annotations)**:从Java 5开始,注解提供了一种元数据的方式,可以用来提供编译器或运行时的信息...

    Java技术文章总结

    - List、Set、Map接口:Java集合框架提供了丰富的数据结构,如ArrayList、LinkedList、HashSet、HashMap等,用于存储和操作数据。 - 泛型:泛型可以限制集合元素的类型,提高安全性,同时在编译时提供类型检查。 ...

    Java+API中文手册

    2. **集合框架**:`java.util`包下的`ArrayList`、`LinkedList`、`HashMap`、`HashSet`等,它们是存储和管理数据的基础。 3. **IO流**:`java.io`包中的输入输出流类,如`FileInputStream`、`FileOutputStream`、`...

    高级JAVA面试——最全的总结

    - 泛型:掌握泛型类、泛型接口、泛型方法等用法,以及类型擦除的概念。 - 多线程:理解线程的创建、同步、并发控制,如synchronized、wait()、notify()等。 - 反射:了解反射机制,如何动态调用类、方法和字段。 ...

Global site tag (gtag.js) - Google Analytics