`
vortexchoo
  • 浏览: 67514 次
  • 性别: Icon_minigender_1
  • 来自: 西安
社区版块
存档分类
最新评论

自定义泛型的数组List

    博客分类:
  • java
阅读更多
public class MyArrayList<T> {
	
	private static final int DEFAULT_SIZE = 10;
	
	private Object[] elements;
	
	private int count = -1;
	
	public MyArrayList(){
		elements = new Object[DEFAULT_SIZE];
	}
	
	public int size(){
		return count+1;
	}
	
	public void add(T t){
		count++;
		if(count<elements.length){
			elements[count] = t;
		}else{
			Object[] newArray = new Object[elements.length+DEFAULT_SIZE];
			for(int i=0;i<elements.length;i++){
				Object o = elements[i];
				newArray[i] = o;
			}
			elements = newArray;
			elements[count] = t;
		}
	}
	
	@SuppressWarnings("unchecked")
	public T get(int index){
		return (T) this.elements[index];
	}

}

 

分享到:
评论

相关推荐

    c#实现对泛型数组排序

    泛型数组的排序是常见的编程任务,尤其在处理大量数据时,高效且类型安全的排序至关重要。本文将深入探讨如何在C#中使用泛型和数组排序,并结合面向对象原则,尤其是ASP.NET和.NET框架中的相关概念。 首先,我们...

    c#自定义泛型类的实现

    在C#编程语言中,自定义泛型类是一种强大的工具,它允许我们创建可以处理多种数据类型的类。泛型提供了一种方式,让我们能够在编写代码时推迟对具体数据类型的决定,直到实例化类或者调用方法时。这提高了代码的重用...

    自定义泛型实现元素交换

    本话题主要探讨如何自定义泛型集合,并实现其中元素的交换功能。 首先,让我们从创建一个泛型集合类开始。这个类将继承自`System.Collections.Generic.List&lt;T&gt;`,因为它提供了基本的集合操作,并且是泛型的,因此...

    简单的List泛型模拟

    在Java编程语言中,泛型是一种强大的特性,它允许我们在编写代码时指定容器(如List、Set、Map等)所存储的数据类型。这样可以确保在编译时进行类型检查,提高代码的安全性和可读性。"简单的List泛型模拟"这个主题...

    Java-Custom-Generics:在 Java 中使用自定义泛型的简单示例

    在Java中,自定义泛型主要是指在我们自己编写的类、接口或方法中使用泛型。这个“Java-Custom-Generics:在 Java 中使用自定义泛型的简单示例”很可能是为了展示如何在实际编程中应用泛型。 泛型的引入旨在提高代码...

    C#重要知识之——泛型列表List例子

    在C#编程中,泛型列表`List&lt;T&gt;`是一个非常重要的数据结构,它为我们提供了动态数组的功能,并且具有类型安全的特性。这篇文章将深入探讨`List&lt;T&gt;`的使用,包括其基本操作、性能特点以及一些高级用法。 一、基础概念...

    泛型集合与数组应用老师找学生

    例如,在“老师找学生”的场景中,我们可以创建一个泛型集合List来存储所有的学生信息,其中Student是我们自定义的数据类型,包含了学生的姓名、学号等信息。 数组则是另一种数据结构,用于存储同类型的元素序列。...

    gson解析泛型和将泛型转为json字符串

    3. **自定义泛型类的序列化和反序列化** 如果你的泛型类有特殊的需求,如忽略某些字段或者自定义字段的序列化行为,你可以创建一个`GsonBuilder`并添加相应的配置,然后构建`Gson`对象。 ```java Gson gson = new...

    Maven.GenericArrayUtility

    3. 数组排序:实现对泛型数组的升序或降序排序,可以使用Java内置的`Arrays.sort()`方法,或者自定义比较器。 4. 数组元素查找:提供查找特定元素的方法,返回元素在数组中的索引或null。 5. 数组元素添加和删除:...

    泛型和泛型集合类用法

    这种自定义泛型类可以根据具体的业务需求灵活扩展功能。 通过以上分析,我们可以看出泛型和泛型集合类在.NET Framework中的重要性和实用性。它们不仅提高了代码的可读性和可维护性,还增强了程序的性能。在实际开发...

    C#中动态声明与使用对象数组实例

    在C#中,动态声明一个对象数组通常涉及使用new运算符和System.Collections.ArrayList类,或者使用泛型的List类。以下是一个使用ArrayList的例子: ```csharp ArrayList array = new ArrayList(); array.Add(new ...

    .net c# 泛型集合list的用法

    在.NET框架中,`List&lt;T&gt;`是泛型集合中最常用的一种类型,它提供了动态数组的功能,并且支持快速添加、删除和访问元素。通过指定类型参数`T`,可以创建一个特定类型的列表,比如`List&lt;int&gt;`或`List&lt;string&gt;`等。本文...

    java泛型技术之发展

    - **泛型方法**:如Arrays.sort()可以接受泛型数组并进行排序。 5. **限制与注意事项** - **类型擦除**:泛型信息在运行时不可用,无法在运行时获取泛型类型。 - **不能实例化类型参数**:如 `new T()` 是不允许...

    jdk5.zip_java 泛型_jdk5 泛型_泛型

    - 不能实例化泛型数组,如`T[] array = new T[10];`是非法的,但可以使用`List&lt;T&gt;`代替。 - 无法在泛型方法中进行实例化,如`T t = new T();`是非法的。 8. **类型推断**: 自JDK 7开始,引入了类型推断,简化了...

    C#泛型优先队列

    在C#中,`System.Collections.Generic`命名空间下的`PriorityQueue`类提供了对优先队列的支持,但它是非泛型的,因此我们常常需要自定义泛型版本的优先队列。 **C#泛型优先队列的构建** 在C#中创建泛型优先队列,...

    C#高性能枚举去除泛型中的重复数据

    在这个例子中,`RemoveDuplicates`是一个泛型方法,它接受一个泛型数组`source`,并通过HashSet来去重。注意,这个方法适用于任何实现了`IEquatable&lt;T&gt;`接口或者提供了`Equals`方法的类型。在实际应用中,可能需要...

    java泛型,java知识

    直接创建泛型数组是非法的,如`T[] array = new T[10];`,但可以通过反射或其他方式间接实现。 9. 类型推断 - 自JDK 7开始,Java引入了类型推断(Type Inference),使得在某些情况下可以省略类型参数,编译器会...

    C#中的泛型集合

    在实际应用中,我们还可以自定义泛型类和方法,进一步扩展泛型的功能。例如,我们可以创建一个泛型堆栈类Stack,支持Push和Pop操作,并确保元素类型的安全性。 总之,C#中的泛型集合是实现高效、类型安全代码的关键...

    8-java进阶-泛型1

    2. **自定义泛型类**: - 在定义泛型类时,我们可以使用尖括号`&lt;&gt;`来声明一个或多个类型参数,如`class Test&lt;T&gt;`。这里的`T`就是一个类型参数,代表某种未知的类型。在类的实例化过程中,如果没有明确指定类型,...

    06_第6章 泛型与集合1

    此外,不能创建泛型数组,也不能在泛型类的静态上下文中使用类型参数。 通过使用泛型,我们可以编写更加安全、强类型的代码,避免了不必要的类型转换和潜在的ClassCastException。在集合框架中使用泛型可以确保插入...

Global site tag (gtag.js) - Google Analytics