删除/添加数组中的特定元素(int)

时间:2015-10-02 19:24:45

标签: java arrays add element

此子类应该能够让用户选择一个特定的员工ID,在命令行中键入它,然后选择将其添加到数组列表中,从数组列表中删除它,或者只是请求查看有关该数据的更多信息。特定员工ID。我已经尝试了很多没有运气的东西。

/*Q37-WAP to print prime numbers in a range*/
#include<iostream.h>
#include<stdio.h>
#include<conio.h>

void main()
{
   clrscr();
   int a,b,c,i,j;
   cout<<"Enter the smallest number:";
   cin>>a;
   cout<<"\nEnter the biggest number:";
   cin>>b;
   for(i=a;i<=b;i++)
   {
       for(int j=2;j<=i/2;j++)
       {
           if(i%j==0);
           {
                break;
           }
           else
           {
                cout<<i<<"\n";
           }
       }
   }
   getch();
} 

3 个答案:

答案 0 :(得分:1)

数组是固定长度的数据结构。它们就像一座多层建筑。你不能从建筑物中间取出地板并期望它能够站立。

ArrayList(正如其他人所指出的那样)是动态结构,很像火车。您可以根据需要取出隔间,您可以重新配置它。

我实际上会建议 NOT 使用List,而是将ID映射到员工记录的Map。我们假设您在列表中有以下员工 -

  1. 爱丽丝
  2. 鲍勃
  3. 约翰
  4. 露丝
  5. 如果删除“Bob”,John和Ruth的ID将会改变。不是一个好习惯。如果您使用地图,则每个人都可以保留其分配的ID,并且您只需通过递增键(或ID)来添加到地图中。

    希望这会有所帮助。

答案 1 :(得分:0)

为了能够动态添加或删除数组,您应该使用列表 ArrayList 。典型的数组在运行时不提供删除或添加,因为它们是固定大小的,如果你想通过处理索引或其他技巧来控制过程,你可能最终会陷入一个混乱且难以维护的代码。 另一方面,java中的列表是动态调整大小的,并提供 add(), remove() get()和其他方便的方法,在我看来最适合你。

答案 2 :(得分:0)

您应该使用ArrayList来动态添加和删除数组中的条目。

通过执行以下操作使您的theEmployee数组成为ArrayList:

ArrayList<Employee> theEmployee = new ArrayList<Employee>();

您可以执行以下操作添加和删除:

public boolean addEmployeeID(Employee employeeAdd){
    return theEmployee.add(employeeAdd);
}

public Employee deleteEmployeeID(int employeeDelete){
     return theEmployee.remove(employeeDelete)
}

我将addEmployeeID的返回类型更改为boolean,因为当您添加对象时,ArrayList会返回一个布尔值。

对于remove,int employeeDelete将是数组中对象的索引。删除对象时,所有剩余的对象都会向左移动。因此,如果你有一个数组[1,2,3]并删除2,它将变为[1,3]。索引被移动。

你也可以删除一个对象,这样就可以了:

public boolean deleteEmployeeID(Employee employeeDelete){
     return theEmployee.remove(employeeDelete)
}

其中employeeDelete是一个Employee,函数返回一个布尔值。