如何在Java中删除对象Sack实现

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (1)
  • 关注 (0)
  • 查看 (16)

所以,我正在创建一个名为“Sack”的通用数据结构。在这里我添加项目到一个麻袋,抓取一个随机项目,看它是否为空,或倾倒其内容等。另外我正在创建它以扩展以根据需要保存尽可能多的项目。

remove helper方法应该删除指定索引处的基础数据结构中的项。它应该通过将其替换为底层数组中的“last”元素来实现。它还应确保任何未使用的元素无效。

目前,我正在使用remove方法,我的删除方法遇到了麻烦。我在运行测试时收到错误,说它没有正确的修饰符。因此我的代码是

public class Sack<E>
{
public static final int DEFAULT_CAPACITY = 10;
private E [] elementData;
private int size;

@SuppressWarnings("unchecked")
public Sack()
{
    elementData = (E[]) new Object[DEFAULT_CAPACITY];
}
@SuppressWarnings("unchecked")
public Sack(int capacity)
{
    if(capacity < 0)
    {
        throw new IllegalArgumentException("capacity " + capacity);
    }
    this.elementData = (E[]) new Object[capacity];
}

public boolean isEmpty()
{
    if(size == 0)
    {
        return true;
    }
    else
    {
        return false;
    }
}
  public E [] dump()
{
   E [] E2 = Arrays.copyOf(elementData, size);
   for(int i = 0; i < size; i++)
   {
      elementData[i] = null;

   }
   size = 0;
    return E2;
}

我在此处收到错误

 public void remove(int index)
{
    for (int i = index; i < size; i++)
    {
        elementData[i] = elementData[i + 1];
    }
    size--;
}
}

它期望获得的价值是2,但它收到的是1.下载任何确保这一点的方法。

提问于
用户回答回答于

尝试将其替换为:

public void remove(int index)
{
    if(index >= 0) {
     E last = elementData[size - 1];
     elementData[index] = last;
     size--;
    }
}

热门问答

服务器操作台不是Windows咋换?

小爱同学

腾讯云 · 技术支持 (已认证)

推荐
您好,您参考重装Windows系统;仅支持中国大陆地域(不含香港)。例如,Linux 重装为 Windows,Windows 重装为 Linux 。 登陆控制台 图片.png 选择【公共镜像】中Windows ,配置Windows密码,点击【开始重装】即可更换Windows 图片...... 展开详请

Golang云函数怎么做CORS?

Alfred

腾讯云 · 高级产品经理 (已认证)

推荐
设置响应 header 主要也就是相应数据结构, https://github.com/tencentyun/scf-go-lib/blob/master/cloudevents/scf/apigw.go APIGatewayProxyResponse 结构中的 header 字...... 展开详请

IM如何在离线登录后获取到多个会话的未读消息数量?

风子猪未来的前端开发工程师!成长的路上加油!勿忘初心方得始终
推荐
您好,建议按照以下步骤操作: 1. 离线上线后调用 webim.syncMsgs(updateUnreadCount); // 同步未读消息。 2. 在updateUnreadCount 回调函数中调用 webim.MsgStore.sessMap();获取会话列表,返回值是...... 展开详请

腾讯云短信服务有没有提供接口?

滑稽园扛把子

Swoole Inc · PHP工程师 (已认证)

As a PHP Developer
推荐
有接口的,个人认证用户不支持使用 API 申请短信模板,企业用户可以。详情文档:https://cloud.tencent.com/document/product/382/5817 URL 示例 POST https://yun.tim.qq.com/v5/tlssmssvr...... 展开详请

为什么无服务没有cpu资源?

Tina

腾讯云 · 产品经理 (已认证)

Go Serverless!
推荐
您好 函数实例可以使用的 CPU 资源与配置内存对应,例如 1024 MB 内存配置的函数,获得的 CPU 将是分配 512 MB 内存时的两倍。您可以通过提高配置内存,获得更多的 CPU。 相关文档:https://cloud.tencent.com/document/pr...... 展开详请

云函数怎么区分是公众号或小程序?

您好,是希望区分从微信公众号或者是小程序过来的请求吗?可以在请求里加字段标识一下做区分

扫码关注云+社区

领取腾讯云代金券