JAVA 泛型练习
二分查找:
public class Q212 {
public static void main(String [] args) {
Integer []arr = {1,2,3,4,5,6,7,8};//Integer型比较
System.out.println(Q212.<Integer>Erfen(arr, 5));
String []arr1 = {"a","b","c","d","e","f","g"};//String型比较
System.out.println(Q212.<String>Erfen(arr1, "d"));
Double []arr2 = {3.1,4.3,5.4,6.5,7.3,8.1,9.2,10.7};//Double型比较
System.out.println(Q212.<Double>Erfen(arr2, 9.2));
}
public static <E extends Comparable<E>> int Erfen(E []list,E index) {
int first = 0;
int last = list.length - 1;
int mid;
while(first<=last) {
mid = first + (last - first)/2;
if(list[mid].compareTo(index) == 0)
return mid;
if(list[mid].compareTo(index) < 0)
first = mid + 1;
if(list[mid].compareTo(index) > 0)
last = mid - 1;
}
return -1;
}
}
选择排序:
public class Q213 {
public static void main(String []args) {
Integer []arr = {5,4,1,6,2};
Q213.<Integer>selectionSort(arr);
for(int i = 0;i < arr.length; i++)
System.out.print(arr[i]+" ");
}
public static <E extends Comparable<E>> void selectionSort(E []list) {
int i,j;
for(i = 0;i < list.length-1; i++/*,System.out.println("nihao")*/)
for(j = i+1;j < list.length; j++)
if(list[j].compareTo(list[i]) < 0)
//swap(list[i],list[j]);
{
//System.out.println(list[i]+" "+list[j]);
E m = list[i];
list[i] = list[j];
list[j] = m;
}
//for(i = 0;i < list.length; i++)
//System.out.print(list[i]+" ");
}
/*
public static <E>void swap(E x,E y) {
E m;
m = x;
x = y;
y = m;
}*/
}
插入排序:
public class Q214 {
public static void main(String []args) {
Integer []arr = {2,3,6,1,8,3};
Q214.<Integer>insertionSort(arr);
for(int i=0;i<arr.length;i++) {
System.out.print(arr[i]+" ");
}
}
public static <E extends Comparable<E>> void insertionSort(E []list) {
int i,j;
for(i = 1;i<list.length;i++)
for(j=0;j<i;j++)
if(list[i].compareTo(list[j])<0) {
E m = list[i];
for(int p = i-1; p>=0; p--)
list[i--] = list[p];
list[i] = m;
}
}
}
JAVA 泛型练习的更多相关文章
- Java泛型的历史
为什么Java泛型会有当前的缺陷? 之前的章节里已经说明了Java泛型擦除会导致的问题,C++和C#的泛型都是在运行时存在的,难道Java天然不支持“真正的泛型”吗? 事实上,在Java1.5在200 ...
- 浅析Java 泛型
泛型是JavaSE5引入的一个新概念,但是这个概念在编程语言中却是很普遍的一个概念.下面,根据以下内容,我们总结下在Java中使用泛型. 泛型使用的意义 什么是泛型 泛型类 泛型方法 泛型接口 泛型擦 ...
- Java:泛型基础
泛型 引入泛型 传统编写的限制: 在Java中一般的类和方法,只能使用具体的类型,要么是基本数据类型,要么是自定义类型.如果要编写可以应用于多种类型的代码,这种刻板的限制就会束缚很多! 解决这种限制的 ...
- java泛型基础
泛型是Java SE 1.5的新特性, 泛型的本质是参数化类型, 也就是说所操作的数据类型被指定为一个参数. 这种参数类型可以用在类.接口和方法的创建中, 分别称为泛型类.泛型接口.泛型方法. Ja ...
- 使用java泛型设计通用方法
泛型是Java SE 1.5的新特性, 泛型的本质是参数化类型, 也就是说所操作的数据类型被指定为一个参数. 因此我们可以利用泛型和反射来设计一些通用方法. 现在有2张表, 一张user表和一张stu ...
- 关于Java泛型的使用
在目前我遇到的java项目中,泛型应用的最多的就属集合了.当要从数据库取出多个对象或者说是多条记录时,往往都要使用集合,那么为什么这么使用,或者使用时有什么要注意的地方,请关注以下内容. 感谢Wind ...
- 初识java泛型
1 协变数组类型(covariant array type) 数组的协变性: if A IS-A B then A[] IS-A B[] 也就是说,java中的数组兼容,一个类型的数组兼容他的子类类型 ...
- 【Java心得总结四】Java泛型下——万恶的擦除
一.万恶的擦除 我在自己总结的[Java心得总结三]Java泛型上——初识泛型这篇博文中提到了Java中对泛型擦除的问题,考虑下面代码: import java.util.*; public clas ...
- 【Java心得总结三】Java泛型上——初识泛型
一.函数参数与泛型比较 泛型(generics),从字面的意思理解就是泛化的类型,即参数化类型.泛型的作用是什么,这里与函数参数做一个比较: 无参数的函数: public int[] newIntAr ...
- 初识Java泛型以及桥接方法
泛型的由来 在编写程序时,可能会有这样的需求:容器类,比如java中常见的list等.为了使容器可以保存多种类型的数据,需要编写多种容器类,每一个容器类中规定好了可以操作的数据类型.此时可能会有Int ...
随机推荐
- 在QT中使用Irrlicht引擎的方法与步骤
Ø 相关库,插件安装部分 本篇文档介绍在Qt5.2.0下面使用lrrlicht引擎在Qt窗口中输出(开发环境:vs2012) 1. 首先安装好Qt5.2.0,下载地址: http://downlo ...
- telnet简单操作 模拟请求
telnet简单操作 模拟请求 一: 二: 三: 按照以上操作即可!
- Java导入证书失败Keystore was tampered with, or password was incorrect
keytool 错误: java.io.IOException: Keystore was tampered with, or password was incorrect 在进行证书相关操作, ...
- 使用iframe调用指定网页的特定位置(显示目标网页某区域的我想要的内容)
使用iframe调用指定网页的特定位置(显示目标网页某区域的我想要的内容) 有些时候我们并不需要显示iframe标签属性src指定的目标网页的所有内容,往往只需要显示某一特定区域.现有两种实现方法提供 ...
- PHP5中使用PDO连接数据库
PDO 如何连接 new PDO("mysql:host=localhost;dbname=php100","root", “ "); 默认这个不是 ...
- java 批量插入10万条数据
for (int i = 0; i < 100000; i++) { dbHelper.insert("INSERT aaa(name) Values ('1')"); } ...
- 转:1.1 cdev_init cdev_alloc 使用说明
对 “从globalmem学习linux字符设备驱动” 的 cdev_init 和 cdev_alloc中一些不清楚的地方进行说明: cdev_init 和 cdev_alloc函数定义如下: ...
- row cache lock
SQL> col name format a30 SQL> select * from (select SAMPLE_TIME, SESSION_ID, NAME, P1, P2, P3, ...
- COJ 0981 WZJ的数据结构(负十九)树综合
WZJ的数据结构(负十九) 难度级别:E: 运行时间限制:3500ms: 运行空间限制:262144KB: 代码长度限制:2000000B 试题描述 WZJ的数据结构中有很多都是关于树的.这让很多练习 ...
- COJ 0034 动态的数字三角形
题解:简单dp吧. 自顶向下的写法: #include<iostream> #include<cstdio> #include<cmath> #include< ...