Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 从自定义arraylist Implementation中删除项,而不删除。删除_Java_Arrays_Arraylist_Data Structures - Fatal编程技术网

Java 从自定义arraylist Implementation中删除项,而不删除。删除

Java 从自定义arraylist Implementation中删除项,而不删除。删除,java,arrays,arraylist,data-structures,Java,Arrays,Arraylist,Data Structures,我正在处理一个自定义的ArrayList实现,我有一个方法,在这个方法中,我尝试从数组(如E[]元素)中按条件删除一个项。通过执行以下操作初始化阵列: ["chicken", "hippo"] String[]contents={“鸡肉”、“河马”、“山羊”}; ArrayI newarray=新的ArrayI(内容); newarray.chooser(new LongChooser()); 它应该删除长度小于等于4的单词,并返回如下数组: [&qu

我正在处理一个自定义的
ArrayList
实现,我有一个方法,在这个方法中,我尝试从数组(如
E[]
元素)中按条件删除一个项。通过执行以下操作初始化阵列:

["chicken", "hippo"]
String[]contents={“鸡肉”、“河马”、“山羊”};
ArrayI newarray=新的ArrayI(内容);
newarray.chooser(new LongChooser());
它应该删除长度小于等于4的单词,并返回如下数组:

["chicken", "hippo"]
我尝试不使用任何内置方法,如
remove()
clone()
arraycopy()
,等等。我似乎无法实现这一点,我尝试创建一个重复的数组,并尝试像这样复制元素:

["chicken", "hippo"]
E[]copy=(E[])(新对象[this.size-1]);
对于(int i=0;i创建一个数组以保存[filtered]结果。其初始大小为零
  • 反复浏览
    内容
  • 如果需要保留
    内容的当前元素
    ,则
    • 创建一个临时数组,其长度比保存结果的数组大一倍
    • 将结果数组复制到临时数组
    • 将临时数组的最后一个元素设置为
      contents
    • 将临时数组指定给结果数组
  • 这是代码,仅使用简单数组。我想您可以根据需要调整它。请注意,最后一行只是检查
    newContents
    的值。这不是必需的

    String[]contents={“鸡肉”、“河马”、“山羊”};
    字符串[]newContents=新字符串[0];
    for(字符串str:contents){
    如果(str.length()>4){
    字符串[]临时=新字符串[newContents.length+1];
    for(int i=0;i
    为什么不首先使用这些方法?它们旨在帮助您管理列表。