package cn.java.jixun.lesson21;
public class NetJavaList<E> {
// 创建一个初始数组
private Object[] array = new Object[0];
/**
* 向队列中添加元素
*
*/
public void add(E str) {
// 创建一个新的数组,长度是array数组的长度+1
Object[] temp = new Object[array.length + 1];
// 将array数组中的元素添加到新的数组中
for (int i = 0; i < array.length; i++) {
// 赋值
temp[i] = array[i];
}
// 将要添加的元素添加到新的数组的末尾
temp[array.length] = str;
// 将新建的数组赋值给array
array = temp;
}
/**
* 返回自定义队列的长度
*
*
*/
/**
* 在指定位置添加元素, 思路:取得指定位置之前的元素,在固定位置加入元素
*/
public void add(String add, int index) {
Object[] temp = new Object[array.length + 1];
// 取得指定位置
for (int i = 0; i < index; i++) {
temp[i] = array[i];
}
temp[index] = add;
for (int i = index + 1; i < temp.length; i++) {
temp[i] = array[i - 1];
}
array = temp;
}
/**
* 删除某一位置的元素
*
* @return
*/
public void remove(int index) {
Object[] temp = new Object[array.length - 1];
for (int i = 0; i < index; i++) {
temp[i] = array[i];
}
for (int i=index+1;i<temp.length;i++){
temp[i]=array[i+1];
}
array=temp;
}
public int size() {
return array.length;
}
/**
* 获取指定位置的元素
*
*/
public E get(int index) {
return (E) array[index];
}
}
分享到:
相关推荐
SSH泛型代码实例是关于Java编程中的一种常见技术——Spring、Struts和Hibernate(SSH)框架结合使用泛型的应用示例。泛型是Java SE 5.0引入的一个重要特性,它允许在编译时检查类型安全,并且所有的强制转换都是自动...
Java泛型解析(03)虚拟机执行泛型代码.doc
在"泛型完整代码.zip"这个压缩包中,包含的是与泛型相关的Java代码示例,很可能是两个类的实现,这将帮助初学者或面试者更好地理解泛型的用法。 首先,我们来详细了解一下泛型的概念。泛型允许我们在定义类、接口和...
day017-Map和泛型 代码和笔记.rar 1. Map:地图 2. Properties类:常用来做配置文件 (掌握) 3. 泛型:就是一个占位符号而已,在设计类的时候,占用位置就是在设计类(接口等)的时候,没有给规定具体是什么类型...
当我们在非泛型代码中使用泛型代码时,需要注意类型擦除的影响。例如,我们不能直接将一个泛型列表赋值给非泛型列表变量,除非使用通配符: ```java List<String> stringList = new ArrayList(); List rawList = ...
将现有非泛型代码升级为泛型代码时,需要逐步进行,确保每个步骤都是安全的。 #### 11. 致谢 感谢所有为Java泛型设计做出贡献的人们,他们的工作极大地提高了Java语言的灵活性和安全性。 以上是对Java 1.5泛型指南...
这个基于Spring MVC和MyBatis的泛型代码生成模板就是为此目的设计的。 首先,Spring MVC是一个模型-视图-控制器(MVC)架构模式的实现,它使得开发者能够将业务逻辑、数据模型与用户界面分离,提高了代码的可维护性...
- 类型擦除导致了桥接方法的生成,这些方法用于保持多态性,因为编译后的泛型代码与没有泛型的代码是等价的。 7. **泛型与集合** - **泛型集合**:使用泛型可以确保集合中只存储特定类型的数据,如 `List<String>...
另一方面,Java的泛型类型擦除带来了一定的灵活性,使得旧的无泛型代码能够与新的泛型代码兼容,这对于维护大型遗留项目尤其有利。然而,这也意味着Java开发者需要额外注意类型转换的安全性,避免出现...
2. **类型安全**:Rust 的编译器会在编译时检查泛型代码,确保类型安全。 - **举例**:在使用泛型函数时,如果传入的参数类型不匹配,则编译器会立即报错,这样可以避免运行时错误,确保程序的安全性。 3. **性能...
.net,C# 泛型示例代码.net,C# 泛型示例代码.net,C# 泛型示例代码
类型擦除是指在编译期间,所有的类型参数被替换为其边界类型或者`Object`,这使得泛型代码可以与非泛型代码协同工作。然而,这也意味着在运行时无法获取到泛型的类型信息。 7. **转型和`instanceof`**:由于类型...
Java泛型是在JDK 1.5版本中引入的...完成这些练习后,你应该对泛型有深入的理解,包括它们如何提高代码的类型安全性、如何使用通配符以及如何与非泛型代码协作。这些技能对于编写高质量、易于维护的Java代码至关重要。
类型擦除是指在编译后,泛型信息会消失,生成的字节码中不包含泛型信息,这保证了与非泛型代码的兼容性。通配符如 `?` 和 `? extends SomeType` 用于增强泛型的灵活性,允许我们处理多种类型。边界如 `...
4. 普及与优化:随着Java泛型的广泛应用,JDK 6和7对其进行了进一步优化,如类型推断(Type Inference),使得编写泛型代码更加简洁。 二、核心概念 1. 泛型类:可以带有类型参数的类,例如`ArrayList<T>`,这里的...
10. **泛型的最佳实践**:提供编写高效、安全泛型代码的建议,如避免使用原始类型,正确使用边界,以及避免类型转换异常等。 通过这些资料,你可以深入理解Java泛型的各个方面,包括其设计原则、用法以及实际编程中...
C#的泛型是由.NET运行时环境(CLR)支持的,这意味着泛型代码在编译阶段并不会生成针对特定类型的代码,而是生成一种特殊形式的中间语言(IL)代码。 当程序运行时,JIT编译器会根据实际使用的类型来实例化这些泛型...