作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试解决一个问题,但数组 1000 的限制和给出输入未知数的问题。我只是在 ArrayList 中添加元素直到大小为 1000,然后停止添加元素。我尝试使用以下代码添加元素,但这不是我的编程尝试。
添加元素 0 到 14。如何添加到 10 码?
public static void main(String[] args) {
ArrayList<Integer> str=new ArrayList<Integer>();
int y=str.size();
do
{
for(int i=0; i<15; i++)
str.add(i);
System.out.println(str);
}
while(y!=10);
}
最佳答案
您可以实现自己的 ArrayList 版本,该版本从该类扩展而来,以保存您选择的最大值。
public class MyList<E> extends ArrayList<E> {
private int maxSize; //maximum size of list
@Override
public boolean addAll(int index, Collection<? extends E> c) {
//check if list + the new collection exceeds the limit size
if(this.maxSize >= (this.size()+c.size())) {
return super.addAll(index, c);
} else {
return false;
}
}
@Override
public boolean addAll(Collection<? extends E> c) {
//check if list + the new collection exceeds the limit size
if(this.maxSize >= (this.size()+c.size())) {
return super.addAll(c);
} else {
return false;
}
}
@Override
public void add(int index, E element) {
if(this.maxSize > this.size()) { //check if the list is full
super.add(index, element);
}
}
@Override
public boolean add(E e) {
if(this.maxSize > this.size()) { //check if the list is full
return super.add(e);
} else {
return false; //don't add the element because the list is full.
}
}
public int getMaxSize() {
return maxSize;
}
public void setMaxSize(int maxSize) {
this.maxSize = maxSize;
}
}
然后你可以这样做:
MyList<Integer> test = new MyList<Integer>();
test.setMaxSize(10);
for(int i=0; i<15; i++) {
test.add(i);
}
这会导致这样的结果:
test => [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
关于java - 如何将元素添加到 Arraylist 直到我想要限制?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27180189/
使用登录后,我想吐出用户名。 但是,当我尝试单击登录按钮时, 它给了我力量。 我看着logcat,但是什么也没显示。 这种编码是在说。 它将根据我在登录屏幕中输入的名称来烘烤用户名。 不会有任何密码。
关闭。这个问题不符合Stack Overflow guidelines .它目前不接受答案。 这个问题似乎是题外话,因为它缺乏足够的信息来诊断问题。 更详细地描述您的问题或include a min
我是一名优秀的程序员,十分优秀!