链表和泛型

链表属于集合的一部分,泛型指的是多种数据类型,链表可以接收多种数据类型。

package *;

import java.util.ArrayList;

public class Liu {
	public static void main(String[] args) {
		String str="1,3,5,0,7,0,12,9,2,0,0,0,0,0,0,0,0,0,0,0";
		String[] strs=str.split(",");
		//遍历选出不为零的长度
		ArrayList<Integer> arrayList=new ArrayList<Integer>();
		for (String s : strs) {
			arrayList.add(new Integer(s));//链表增加元素
		}
		for (int i =arrayList.size()-1; i >=0; i--) {//如果正循环遍历,删除会有问题,数字0无法去除
			if (arrayList.get(i)==0) {
				arrayList.remove(arrayList.get(i));
			}
		}
		for (Integer x: arrayList) {//foreach循环
			System.out.print(x+" ");
		}
	}
}

  

时间: 2024-08-02 01:33:40

链表和泛型的相关文章

【Java】 大话数据结构(2) 线性表之单链表

本文根据<大话数据结构>一书,实现了Java版的单链表. 书中的线性表抽象数据类型定义如下(第45页): 实现程序: package LinkList; /** * 说明: * 1.<大话数据结构>中没有线性表的长度,但提到可以存储于头节点的数据域中. * 本程序的线性表长度存放于count变量中,线性表长度可以使程序比较方便. * 2.程序中,第i个位置代表第i个结点,头结点属于第0个结点 * 3.因为链表为泛型,整表创建采用整型(随机整数做元素),所以有出现一些类型转换 * 4

commons-pool源码分析总结

不论进行什么程序或者框架的源码分析,总是要建立在使用它的基础之上的,当我们使用了它,然后才会有好奇心和动力去分析它是怎么样实现的. 其实有很少的编程人员会直接使用commons-pool,但是常常在我们的项目中需要使用到它.我是如何开始接触commons-pool的呢?这是在我学习javaEE开发的时候接触的,当时候的时候需要使用dbcp作为数据库连接池,然而dbcp依赖于commons-pool来缓存连接,本人又是一个喜欢研究的人,而且喜欢对一个东西有很深的了解之后,然后将它的作用发挥到最大.

栈是一种基于后进先出的数据集合.用链表实现比数组实现更加高效. 使用链表以及泛型机制来实现可以达到最优设计目标: (1)可以处理任意类型的数据: (2)所需的空间总是和集合的大小成正比: (3)操作所需的时间总是和集合的大小无关. ×××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××× 数组实现代码: 1 import java.util.Iterator; 2 import java.ut

背包

背包是一种不支持从中删除元素的数据集合.它的目的是帮助用例收集元素并迭代遍历所有收集到的元素.迭代遍历的顺序没有要求(实现代码中是后进先出). 使用链表以及泛型机制来实现可以达到最优设计目标: (1)可以处理任意类型的数据: (2)所需的空间总是和集合的大小成正比: (3)操作所需的时间总是和集合的大小无关. 1 import java.util.Iterator; 2 import java.util.Scanner; 3 4 public class Bag<Item> implement

队列

队列是一种基于先进先出策略的数据集合. 使用链表以及泛型机制来实现可以达到最优设计目标: (1)可以处理任意类型的数据: (2)所需的空间总是和集合的大小成正比: (3)操作所需的时间总是和集合的大小无关. 1 import java.util.Scanner; 2 import java.util.Iterator; 3 4 public class Queue<Item> implements Iterable<Item>{ 5 6 private class Node{ 7

JXLS 2.4.0系列教程(三)——嵌套循环是怎么做到的

注:本文代码在第一篇文章基础上修改而成,请务必先阅读第一篇文章. http://www.cnblogs.com/foxlee1024/p/7616987.html 本文也不会过多的讲解模板中遍历表达式的写法和说明,请先阅读第二篇文章. http://www.cnblogs.com/foxlee1024/p/7617120.html 原本第三篇文章我打算写sheet分页的实现的,后来发现难度比第四篇循环嵌套复杂一点点,我们本着循序渐进的原则,所以先讲讲怎么实现循环嵌套. 说明是嵌套循环?说白了就是

泛型,链表

泛型是Java SE 1.5的新特性,泛型的本质是参数化类型,也就是说所操作的数据类型被指定为一个参数.这种参数类型可以用在类.接口和方法的创建中,分别称为泛型类.泛型接口.泛型方法. Java语言引入泛型的好处是安全简单.在Java SE 1.5之前,没有泛型的情况的下,通过对类型Object的引用来实现参数的“任意化”,“任意化”带来的缺点是要做显式的强制类型转换,而这种转换是要求开发者对实际参数类型可以预知的情况下进行的.对于强制类型转换错误的情况,编译器可能不提示错误,在运行的时候才出现

C#中泛型和单链表

泛型是 2.0 版 C# 语言和公共语言运行库 (CLR) 中的一个新功能.泛型将类型参数的概念引入 .NET Framework,类型参数使得设计如下类和方法成为可能:这些类和方法将一个或多个类型的指定推迟到客户端代码声明并实例化该类或方法的时候.例如,通过使用泛型类型参数 T,您可以编写其他客户端代码能够使用的单个类,而不致引入运行时强制转换或装箱操作的成本或风险 泛型概述:1.使用泛型类型可以最大限度地重用代码.保护类型的安全以及提高性能.2.泛型最常见的用途是创建集合类.3..NET F

爪哇国新游记之十六----泛型单链表类

/** * 单链表节点类 * @param <T> */ class Node<T extends Object>{ protected T value; protected Node next; } /** * 单链表类 * @param <T> */ public class ChainList<T extends Object>{ private Node<T> first; public void addTail(T t){ Node&l