package 泛型1;
/**
* 定义一个泛型类,并且 里面可以同时传入三个不同类型的数据
*/
public class GenericsArrayList<T,K,B> {
private T[] arr1;
private K[] arr2;
private B[] arr3;
private int index;
private int index2;
private int index3;
//默认的构造方法
@SuppressWarnings("unchecked")
public GenericsArrayList() {
arr1 = (T[]) new Object[10];
arr2 = (K[]) new Object[10];
arr3 = (B[]) new Object[10];
}
//重载构造方法,初始化数组的大小
@SuppressWarnings("unchecked")
public GenericsArrayList(int size) {
arr1 = (T[]) new Object[size];
arr2 = (K[]) new Object[size];
arr3 = (B[]) new Object[size];
}
//定义增加一个元素的方法
public void add(T var,K var2,B var3) {
arr1[index++] = var;
arr2[index2++] = var2;
arr3[index3++] = var3;
}
//定义返回一个元素的方法
public T geteLme(int index) {
return arr1[index];
}
public K geteLme2(int index) {
return arr2[index];
}
public B geteLme3(int index) {
return arr3[index];
}
//同时返回三个元素的方法
public Object get(int index) {
return arr1[index]+" "+arr2[index]+" "+arr3[index];
}
}
package 泛型1;
/**
* 入口函数类,实现GenericsArryList中的各个方法
*/
public class TestGenericsArrayList {
public static void main(String[] args) {
//创建一个泛型的对象,并初始化各数组
GenericsArrayList<Integer,String,Boolean> arry = new GenericsArrayList<Integer,String,Boolean>();
arry.add(1,"小红",true);
arry.add(2, "小明",false);
arry.add(3, "小张",true);
//打印出各个类型的元素
System.out.println("分别输出各个类型的数据如下:");
System.out.print(arry.geteLme(0)+" ");
System.out.print(arry.geteLme(1)+" ");
System.out.println(arry.geteLme(2));
System.out.print(arry.geteLme2(0)+" ");
System.out.print(arry.geteLme2(1)+" ");
System.out.println(arry.geteLme2(2));
System.out.print(arry.geteLme3(0)+" ");
System.out.print(arry.geteLme3(1)+" ");
System.out.println(arry.geteLme3(2));
System.out.println("一起输出各个类型的数据如下:");
System.out.println(arry.get(0));
System.out.println(arry.get(1));
System.out.println(arry.get(2));
}
}
程序运行结果:
分别输出各个类型的数据如下:
1 2 3
小红 小明 小张
true false true
一起输出各个类型的数据如下:
1 小红 true
2 小明 false
3 小张 true
相关推荐
泛型是Java编程语言中的一个强大特性,它允许在类、接口和方法中使用类型参数,从而...文件“01_泛型语法(上).wmv”很可能是这个教程的视频部分,包含了上述所有概念的详细讲解,帮助你更直观地理解和掌握泛型的使用。
首先,第01章《初识JAVA》介绍了Java的历史背景、特性以及开发环境的搭建,包括JDK的安装和配置,以及使用IDE如Eclipse或IntelliJ IDEA进行开发的基本操作。这一章是Java学习的起点,让初学者对Java有一个全面的认识...
《C++学习系统实现》 C++学习系统是一种专门针对C++编程语言设计的教学平台,旨在帮助初学者和进阶...该系统提供的分部分学习资源,如part01到part11,分别涵盖了不同主题的教程和示例,方便用户按需学习,逐步提高。
资源内容:01委托的基本认识,02委托的基本应用,03委托的基本应用练习与总结,04_02自己写泛型委托,04_03Action泛型委托,04泛型委托,05泛型委托Func,06多播委托,07匿名方法,08Lambda表达式简介之输入参数,09匿名方法、...
假设"GENERIC.01"是某个泛型库的一部分,它可能是实现了一些基础的泛型操作,如容器、迭代器或其他通用算法。在C++中,STL(标准模板库)就是使用模板的一个经典例子,其中的容器(如vector、list、map等)和算法...
在这个"3_JavaSE01.rar"压缩包中,包含了丰富的Java SE编程学习资源,特别是关于Java泛型、内部类以及API的实践代码。让我们深入探讨这些主题。 **Java泛型** Java泛型是Java 5引入的一项重要特性,它允许在类、...
- **集合框架**:学习ArrayList、LinkedList、HashSet、HashMap等集合类的使用,以及泛型的概念。 - **JVM**:理解Java虚拟机的工作原理,包括类加载、内存管理和垃圾回收。 通过深入学习和实践"java初学者学习源...
01-类和结构体 02-闭包表达式和闭包 03-对象 04-继承 05-协议 06-Error 07-泛型 08-扩展案例 09-访问权限案例 10-高级运算符 11-字面量协议和模式匹配室例 12-内存管理室例 13-指针案例 14-0C和Swift混编 15-多线程...
【高质量C/C++编程学习视频01】是一个针对已有C/C++基础知识的学习资源,旨在提升编程者对这两种语言的理解和应用水平,特别是关注代码的质量。本视频课程将深入讲解C/C++编程中的关键概念、最佳实践和常见陷阱,...
首先,"01 Java SE"部分涵盖了Java Standard Edition(Java SE)的基础知识。Java SE是Java的核心,包含了开发和运行桌面应用、服务器应用以及嵌入式系统的必要工具和API。学习Java SE,你需要理解基础语法,如变量...
5. **Day 03**:第三天的学习可能涉及Swift的高级特性,如协议(protocols)、泛型(generics)、可选链(optional chaining)和强制解包(forced unwrapping)。 6. **Day 04**:最后一天可能包含更进阶的主题,...
"chapter05泛型、枚举与For语句的简化写法.ppt"介绍了Java中的泛型、枚举类型和增强的for循环,这些都是提高代码可读性和复用性的高级特性。 "2009-2010(1)chapter11多线程程序设计.ppt"涵盖了Java的并发编程,多...
Java JDK 5.0是Java发展历程中的一个重要里程碑,它引入了许多新特性,极大地提升了开发效率和代码质量。...通过阅读"良葛格Java JDK 5.0学习笔记ch01",你可以深入理解这些概念,并提升自己的Java技能。
【标签】"JAVA 01" 暗示这是 Java 学习系列的第一个部分,可能是一个逐步进阶的学习计划,适合初学者或希望巩固基础的开发者。 【压缩包子文件的文件名称列表】中的 "JAVA 学习记录一CoreJava.pdf" 提供了学习材料...
Swift学习大礼包--01,这是一个专为Swift初学者准备的资源集合,旨在帮助你全面了解并掌握这门由Apple开发的现代化编程语言。Swift以其简洁、安全和高性能的特点,深受开发者喜爱,尤其在iOS、macOS、watchOS以及...
这个项目可以帮助初学者理解如何在实际应用中使用JDBC、泛型和反射来构建数据库操作工具,同时也可以作为学习数据库与Java交互的实践案例。通过这个例子,开发者可以学习如何有效地管理和操作数据库,提升代码的复用...
每个文件名如"01.JAVA_01"可能代表一个章节或主题,例如,01可能是介绍Java环境的配置,02可能是关于基础语法的讲解,以此类推。通过逐步学习和实践这些文件中的内容,初学者将能够建立起坚实的Java编程基础。同时,...
10. **泛型**:泛型可以创建类型安全的容器,允许在不指定具体类型的情况下编写代码,提高了代码的可重用性。 11. **异步编程**:C# 5.0引入了async/await关键字,用于编写非阻塞的异步代码,提高程序的响应性能。 ...
在“达内Java大数据 Day01练习题及答案”这个学习资源中,主要涵盖了Java编程语言的基础知识,这是学习Java大数据的重要前提。Day01的练习题旨在帮助初学者巩固和深化对Java基本概念的理解,为后续的大数据技术学习...
这份名为“我的Swift学习项目实战代码.zip”的压缩包,包含了从Day 01到Day 03的学习过程中的代码实践,旨在帮助开发者逐步掌握Swift语言的基础与进阶技巧。 首先,我们从Day 01开始,这通常是学习新语言时的基础...