gpt4 book ai didi

java - 初始化一定大小的数组

转载 作者:行者123 更新时间:2023-11-30 08:13:09 24 4
gpt4 key购买 nike

您好,我正在尝试在 Main 中创建一个具有前缀大小(例如,大小为 10)的数组,然后在数组中添加项目(例如,3 个项目),这将使该数组有 7 个未使用的空间,稍后,我想编写一个方法来修剪未使用的大小。

但是我怎样才能首先创建一个固定大小的数组,因为显然我的构造函数不允许下面的这个操作。

*Bag<String> names = new Bag<String>(**10**);*


public class Bag<T extends Comparable<T>> implements Iterable<T> {
private int MAX_ITEMS = 10; // initial array size
private int size;
private T[] data;

public Bag( ) {
data = (T []) new Comparable[MAX_ITEMS];
size = 0;
}

public static void main(String[ ] args) {
Bag<String> names = new Bag<String>();
names.add("Seattle");
names.add("Chicago");
names.add("New York");

System.out.println(names.size());
for (String name : names)
System.out.println(name);

names.trimToSize();
System.out.println(names.size());
}
}

最佳答案

您可以在 Utility 类中创建以下方法,并在每次需要时使用它:

public static <T> T[] newArrayOf(T[] t, int len){
return (T[]) Array.newInstance(t.getClass().getComponentType(), len);
}

关于java - 初始化一定大小的数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30115560/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com