MyArrayList.java
public class MyArrayList {
private int[] array;
private int current;
public MyArrayList(int size) {
array=new int[size];
current = 0;
}
public MyArrayList(){
setArraySize(10);
}
public void setArraySize(int size){
array=new int[size];
current=0;
}
public void add(int value) {
array[current] = value;
current++;
}
public int get(int position){
int value = 0;
if(position >= 0 && position < current) {
value = array[position];
}
return value;
}
public void set(int position, int value) {
if(position > 0 && position <= current)
array[position] = value;
}
public int size() {
return current;
}
public void remove(int position) {
int index = position;
if(position > 0 && position <= current) {
for(int i = index; i < current - 1; i++) {
array[i] = array[i+1];
}
current--;
}
}
public int[] toArray() {
int[] newArray = new int[current];
for(int i = 0; i <= current -1; i++) {
newArray[i] = array[i];
}
return newArray;
}
public void replace(int oldValue, int newValue) {
for(int i = 0; i < current; i++) {
if(array[i] == oldValue) {
array[i] = newValue;
break;
}
}
}
public boolean contains(int value) {
for(int i = 0; i < current; i++) {
if(array[i]==value){
return true;
}
}
return false;
}
public boolean isEmpty() {
if (current == 0)
{
return true;
}
return false;
}
public void clear() {
current = 0;
}
}
java
public class Runner {
public static void main(String[] args) {
MyArrayList mylist = new MyArrayList(10);
mylist.add(10);
mylist.add(15);
mylist.add(10);
mylist.add(35);
mylist.add(50);
mylist.add(10);
System.out.println("IsEmpty should be false: " + mylist.isEmpty());
System.out.println("Size should be 6: " + mylist.size());
System.out.println("Element at position 3 should be 10: " + mylist.get(3));
// set 3 position to 20
mylist.set(3, 20);
System.out.println("Element at position 3 should be 20 now: " + mylist.get(3));
// remove 3rd element which is 20
mylist.remove(3);
System.out.println("Element at position 3 should be 35 now: " + mylist.get(3));
System.out.println("Size should be 5: " + mylist.size());
// try removing last element
mylist.remove(5);
System.out.println("Element at position 5 should be 0: " + mylist.get(5));
System.out.println("Size should be 4: " + mylist.size());
// replace first occurrence of 10 to 9
mylist.replace(10, 9);
System.out.println("Element at position 1 should be 9 now: " + mylist.get(1));
System.out.println("contains(45) should be false: " + mylist.contains(45));
System.out.println("contains(35) should be true: " + mylist.contains(35));
System.out.println("Array should be: 9 15 35 50");
int[] array = mylist.toArray();
for(int element: array) {
System.out.print(element + " ");
}
System.out.println();
mylist.clear();
System.out.println("IsEmpty should be true: " + mylist.isEmpty());
System.out.println("Size should be 0: " + mylist.size());
}
}
这是你更正的代码。和你的比较一下。
java prettyprint-override">public class MyArrayList {
private static final int INCREASE = 10;
private int[] array;
private int current;
public MyArrayList(int size) {
array = new int[size];
current = 0;
}
public MyArrayList() {
this(INCREASE);
}
public void add(int value) {
if (current == array.length) {
ensureCapacity();
}
array[current++] = value;
}
public int get(int position) {
int value = 0;
if (position >= 0 && position < current) {
value = array[position];
}
return value;
}
public void set(int position, int value) {
if (position >= 0 && position < current) {
array[position] = value;
}
}
public int size() {
return current;
}
public void remove(int position) {
int index = position;
if (position >= 0 && position < current) {
for (int i = index; i < current - 1; i++) {
array[i] = array[i + 1];
}
current--;
}
}
public int[] toArray() {
int[] newArray = new int[current];
for (int i = 0; i <= current - 1; i++) {
newArray[i] = array[i];
}
return newArray;
}
public void replace(int oldValue, int newValue) {
for (int i = 0; i < current; i++) {
if (array[i] == oldValue) {
array[i] = newValue;
break;
}
}
}
public boolean contains(int value) {
for (int i = 0; i < current; i++) {
if (array[i] == value) {
return true;
}
}
return false;
}
public boolean isEmpty() {
return current == 0;
}
public void clear() {
current = 0;
}
private void ensureCapacity() {
int[] newArray = new int[array.length + INCREASE];
System.arraycopy(array, 0, newArray, 0, array.length);
array = newArray;
}
public static void main(String[] args) {
MyArrayList mylist = new MyArrayList(10);
mylist.add(10);
mylist.add(15);
mylist.add(10);
mylist.add(35);
mylist.add(50);
mylist.add(10);
System.out.println("IsEmpty should be false: " + mylist.isEmpty());
System.out.println("Size should be 6: " + mylist.size());
System.out.println("Element at index 3 should be 35: " + mylist.get(3));
// set 3 index to 20
mylist.set(3, 20);
System.out.println("Element at index 3 should be 20 now: " + mylist.get(3));
// remove 3rd element which is 20
mylist.remove(3);
System.out.println("Element at index 3 should be 50 now: " + mylist.get(3));
System.out.println("Size should be 5: " + mylist.size());
// try removing last element
mylist.remove(4);
System.out.println("Element at index 4 should be 0: " + mylist.get(4));
System.out.println("Size should be 4: " + mylist.size());
// replace first occurrence of 10 to 9
mylist.replace(10, 9);
System.out.println("Element at index 0 should be 9 now: " + mylist.get(0));
System.out.println("contains(45) should be false: " + mylist.contains(45));
System.out.println("contains(15) should be true: " + mylist.contains(15));
System.out.println("Array should be: 9 15 10 50");
int[] array = mylist.toArray();
for (int element : array) {
System.out.print(element + " ");
}
System.out.println();
mylist.clear();
System.out.println("IsEmpty should be true: " + mylist.isEmpty());
System.out.println("Size should be 0: " + mylist.size());
}
}
下面是运行上述代码时的输出。也和你的比较一下。
IsEmpty should be false: false
Size should be 6: 6
Element at index 3 should be 35: 35
Element at index 3 should be 20 now: 20
Element at index 3 should be 50 now: 50
Size should be 5: 5
Element at index 4 should be 0: 0
Size should be 4: 4
Element at index 0 should be 9 now: 9
contains(45) should be false: false
contains(15) should be true: true
Array should be: 9 15 10 50
9 15 10 50
IsEmpty should be true: true
Size should be 0: 0
在方法main
中(在上面的代码中),创建了类MyArrayList
的一个实例,并添加了以下六个元素。
10
15
10
35
50
10
10
15
10
20
50
10
10
15
10
50
10
现在列表有五个元素,因此大小现在是5。第一个元素的索引仍然是0(零)。最后一个元素的索引是4,即比大小少一个。列表中索引3处的元素现在是50。
get(4)
应该返回0(零),因为4大于最后一个元素的索引。换句话说,在大小为4的列表中没有索引4。replace(10,9)
意味着列表中的第一个元素,即索引0(零)的元素,现在是9。因此,该列表现在包含以下9
15
10
50
最后,我添加了方法ensureCapacity
。在java中,数组的大小是固定的。说明中没有说不能添加超过数组大小的元素。因此,如果默认大小为10(ten),并且要添加11个元素,则需要创建一个更大的数组。因此,方法EnsureCapacity
创建一个新的、更大的数组,并将类成员array
中的值复制到新数组中。然后为类成员array
分配newarray
的值。
显示所有指定的元素。 使用展开运算符 (...) 和 Array.forEach() 来清除每个指定元素的 display 属性。 const show = (...el) => [...el].forEach(e => (e.style.display = '')); show(...document.querySelectorAll('img')); // Shows all <img> e
我有一些代码使用聚合物属性e <代码> polymer的工作方式是,我不能简单地说<code>force-shorrow=“false”,如果我想禁用该属性,必须将其完全删除。在Angular2中是否有方法有条件地删除整个属性?我似乎找不到关于这个话题的任何信息。我可以使用并重复整个元素,包括属性和不包括属性,但如果可能的话,我宁愿不这样做。谢谢 编辑 - 为什么将此问题标记为重复并关闭?我在有问
我在下面代码中复制了一个奇怪问题。我已经在模拟器和设备上进行了测试&结果是一样的。我在一个容器中有26个按钮(它的布局是flowlayout),它本身在BorderLayout(窗体的布局)的南部。但只看到按钮的一部分。我在下面的代码中做错了什么?重新验证也不做任何事情。 这里只看到7个BTN。skipButton也不在那里。为什么其他按钮不显示?
问题内容: 我有两个表,用于存储该员工的所有个人记录,并存储每个月支付给特定员工的电话费。现在我有一个名为的函数,类似于以下内容: 此功能基本上可以找到在给定期间内支付账单的所有员工。但是我遇到一个错误 型号:: 注意:如果我跳过和条件,我将得到array的结果! 问题答案: 详细信息/注释: 1)看起来您正在使用。不要那样做改用Containable 2)您不能根据条件限制父模型包含的数据/包含
本文向大家介绍aurelia 有条件地显示和隐藏HTML元素,包括了aurelia 有条件地显示和隐藏HTML元素的使用技巧和注意事项,需要的朋友参考一下 示例 使用时show.bind,元素保留在页面中,并且通过使用场景display:none或display:block在场景后隐藏或可见。
我正在做一个网站,有固定的辅助导航到右侧的视口。使用waypoint,当特定的id出现在视口底部时,我可以向导航锚点元素添加一个类。但是,我不知道如何做的是,当元素中的元素不再在视口中时,从该元素中移除该类。现在,我的导航将从活动类获得适当的样式,但当我向下滚动页面时,每个导航元素将保持活动类的样式。当元素不再显示在屏幕上时,我需要移除活动类。谢谢你的帮助。 jQuery: 实时html页面: h