Java &引用;块;阵列列表大小
由于这个问题,我有一个2D ArrayList: 现在,由于这个问题,我把它放在一个2D数组中: 我需要我的ArrayList有一个“阻塞宽度大小”(bws),也就是说,当ArrayList的大小达到该数字(bws)时,它会“打断”ArrayList行: 但是,我不知道怎么做 编辑:Java &引用;块;阵列列表大小,java,arrays,arraylist,Java,Arrays,Arraylist,由于这个问题,我有一个2D ArrayList: 现在,由于这个问题,我把它放在一个2D数组中: 我需要我的ArrayList有一个“阻塞宽度大小”(bws),也就是说,当ArrayList的大小达到该数字(bws)时,它会“打断”ArrayList行: 但是,我不知道怎么做 编辑: 那么,我该怎么办呢?您没有详细说明接口,因此我只定义一些基础知识,您可以从中继续开发更多内容: 具有阻止宽度的列表应该能够添加元素 应该能够访问列表中的任意行 您可以继续定义一个迭代器,实现各种集合接口以及您
那么,我该怎么办呢?您没有详细说明接口,因此我只定义一些基础知识,您可以从中继续开发更多内容:
- 具有阻止宽度的列表应该能够添加元素
- 应该能够访问列表中的任意行
java.util.list
,但对客户端隐藏该列表
以下是我提出的准则:
public class BlockedWidthList<T> {
public static void main(String[] args) {
BlockedWidthList<Integer> myList = new BlockedWidthList<Integer>(6);
for(int i = 0; i < 20; i++)
myList.add(i);
for(Integer entry : myList.getRow(2))
System.out.println(entry);
}
/** @throws java.lang.IllegalArgumentException if 'blockedWidthSize' is less than or equal to zero */
public BlockedWidthList(int blockedWidthSize){
if(blockedWidthSize<1)
throw new IllegalArgumentException("Width must be a positive number");
this.blockedWidthSize = blockedWidthSize;
}
public final int blockedWidthSize;
private List<T> internal = new ArrayList<T>();
public void add(T elem){
internal.add(elem);
}
/** Access a row in the blocked width list by a row index. Indexing starts at 0
*
* @return A list containing up to 'blockedWidthSize' elements
* @throws java.lang.IndexOutOfBoundsException if the row does not exist
*/
public List<T> getRow(int rowIndex){
if (rowIndex < 0) throw new IndexOutOfBoundsException("Negative row");
int startIdx = rowIndex * blockedWidthSize;
return internal.subList(startIdx, startIdx + blockedWidthSize);
}
}
公共类BlockedWidthList{
公共静态void main(字符串[]args){
BlockedWidthList myList=新的BlockedWidthList(6);
对于(int i=0;i<20;i++)
添加(i);
for(整数条目:myList.getRow(2))
系统输出打印项次(输入);
}
/**如果“blockedWidthSize”小于或等于零,则@抛出java.lang.IllegalArgumentException*/
公共BlockedWidthList(int blockedWidthSize){
如果(BlockedWidthSize你的问题到底是什么?问题编辑在最后一行。我并不想粗鲁,但我认为你应该做的是写一些代码。然后展示给我们,并解释你在哪一部分遇到困难。然后我们就能帮你取得进展。你没有粗鲁:D。我只是在大约两天内想不出任何事情斯图对此,请认真考虑。@CrazyProgrammer即使您无法编写关于此问题的实际代码,我强烈建议您编写伪代码,描述您在思想上如何一步一步地执行此操作。然后我们可以帮助将其转换为Java。ArrayList必须是2D:ArrayList为什么实现细节很重要?如果您愿意的话,您始终可以在BlockedWidthList
上定义迭代器,并将每个元素存储在列表中。