java default 泛型_java 创建泛型集合的问题

publicclassGrowableArray{privatefinalintdefault_capacity=4;privateintcount;privateT[]array;publicGrowableArray(){count=0;array=(T[])(newObject[default_capacity]);//这里...

public class GrowableArray{

private final int default_capacity = 4;

private int count;

private T[] array;

public GrowableArray(){

count = 0;

array = (T[])(new Object[default_capacity]); //这里

}

public int Size(){

return count;

}

public void add(T elt){

if(count == array.length){

expandCapacity();

}

array[count] = elt;

count++;

}

private void expandCapacity(){

T[] larger = (T[])(new Object[array.length*2]); //还有这里应该怎么改

for(int index=0;index

larger[index] = array[index];

}

array = larger;

}

public T get(int index) throws ArrayIndexOutOfBoundsException{

if (index>count||index<0){

throw new ArrayIndexOutOfBoundsException("Error index");

}

T result = array[index];

return result;

}

public void set(int index, T elt) throws ArrayIndexOutOfBoundsException{

if (index>count||index<0){

throw new ArrayIndexOutOfBoundsException("Error index");

}

array[index]= elt;

}

public String toString(){

String result = "";

for(int index=0;index>=0;index++){

result += array[index]+"\n";

}

return result;

}

public static void main(String[] args){

GrowableArray test = new GrowableArray();

try{

for(int i=0;i<10;i++){

int rand = (int)(Math.random()*10+1);

System.out.print(rand);

test.add(rand);

System.out.println(test.toString());

}

System.out.println(test.Size());

test.set(4,7);

System.out.println(test.get(4));

}catch(Exception e)

{

System.out.println(e.getMessage());

}

}

}

C:\class\Ass11>javac GrowableArray.java -Xlint

GrowableArray.java:8: 警告:[unchecked] 未经检查的类型使用

找到: java.lang.Object[]

需要: T[]

array = (T[])(new Object[default_capacity]);

^

GrowableArray.java:21: 警告:[unchecked] 未经检查的类型使用

找到: java.lang.Object[]

需要: T[]

T[] larger = (T[])(new Object[array.length*2]);

要求使用泛型 新建个默认长度为4的数组

add 是添加value到组尾 并且当组 长度到最大时新建长度X2的数组并且拷贝原有原素

目的是要将10个10 以内的随机数添加到数组中

并且在每个添加之后输出数组

之后输出数组长度

使用set将index 4 value改成7

输出 index 4 但是最后只输出了一个数

展开

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
回答: Java集合框架中的Map是一种键值对的数据结构,可以存储一组具有唯一键和对应值的元素。使用泛型可以在编译时进行类型检查,确保集合中只能存储指定类型的元素,提高代码的可读性和安全性。 在引用中的示例代码中,List<String>定义了一个只能存储字符串类型元素的列表。在引用中的示例代码中,Collection<String>和Collection<Integer>分别定义了只能存储字符串类型和整数类型元素的集合。使用泛型通配符可以增加集合的灵活性。比如在coll.removeAll(c)方法中,传入的Collection对象的泛型可以是任意类型。另外,泛型还可以应用于Map集合,如引用中的示例代码中,Set<Map.Entry<String,String>>定义了只能存储键值对类型为String的元素的集合。 综上所述,Java集合框架中的Map和泛型可以一起使用,通过泛型可以指定集合中存储的元素类型,增加代码的可读性和类型安全性。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [java基础中的--------Map+泛型](https://blog.csdn.net/liutaiwu/article/details/107915445)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT0_1"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值