可不可以有一个需求:构造一个泛型容器,可以容纳两种数据类型未知的对象,实现添加和随机取元素
首先就想到了元组,实现多种类型的组合,随机数生成函数为Random,多的不说,贴代码
package com;
import java.util.ArrayList;
import java.util.Random;
public class test<A,B>
{
private ArrayList<A> storage_a=new ArrayList<A>();//A类型的存储方式
private ArrayList<B> storage_b=new ArrayList<B>();//B类型的存储方式
Random rand=new Random(100);//随机数对象
private void add_a(A a)
{
storage_a.add(a);
}
private void add_b(B b)
{
storage_b.add(b);
}
private A select_a()
{
return storage_a.get(rand.nextInt(storage_a.size()));
}
private B select_b()
{
return storage_b.get(rand.nextInt(storage_b.size()));
}
public static void main(String args[])
{
test<String,Integer> temp=new test<String,Integer>();
for(String s : ("jiu zhe yang xue li").split(" "))
{
temp.add_a(s);
}
for(Integer i=0;i<10;i++)
{
temp.add_b(i);
}
for(int i=0;i<5;i++)
{System.out.println("字符串的随机数序列 : "+temp.select_a());}
for(int i=0;i<10;i++)
{System.out.println("整数的随机数序列 : "+temp.select_b());}
}
}
这样就完美的实现了两种未知类型用一个类来实现的例子,这也是java编程思想上的一道练习题,实现结果:
字符串的随机数序列 : jiu
字符串的随机数序列 : jiu
字符串的随机数序列 : li
字符串的随机数序列 : xue
字符串的随机数序列 : zhe
整数的随机数序列 : 6
整数的随机数序列 : 6
整数的随机数序列 : 8
整数的随机数序列 : 3
整数的随机数序列 : 3
整数的随机数序列 : 2
整数的随机数序列 : 7
整数的随机数序列 : 6
整数的随机数序列 : 7
整数的随机数序列 : 2
java编程思想虽然基础,但是只要坚持下来,努力将基础打好,后面的大数据分析,数据挖掘算法,算法导论,高深点的机器学习等学习起来都会简单的多