Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/399.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 撤销通用列表? 公共静态列表arrayListReverse(列表lst){ ArrayList reversed=新的ArrayList(); 对于(int i=lst.size()-1;i>=0;i--){ t=1.get(i); 加(t); } 反向返回; }_Java_Generics_Arraylist - Fatal编程技术网

Java 撤销通用列表? 公共静态列表arrayListReverse(列表lst){ ArrayList reversed=新的ArrayList(); 对于(int i=lst.size()-1;i>=0;i--){ t=1.get(i); 加(t); } 反向返回; }

Java 撤销通用列表? 公共静态列表arrayListReverse(列表lst){ ArrayList reversed=新的ArrayList(); 对于(int i=lst.size()-1;i>=0;i--){ t=1.get(i); 加(t); } 反向返回; },java,generics,arraylist,Java,Generics,Arraylist,我希望能够返回一个与原始列表相反的列表。它应该能够适用于任何类型。当涉及到t=input.get(I)时,我总是会出错; 编辑:我只想使用列表界面应该是T: public static <T> List<T> arrayListReverse(List<T> lst) { ArrayList reversed= new ArrayList(); for (int i=lst.size()-1;i>=0;i--){ <T> t= l

我希望能够返回一个与原始列表相反的列表。它应该能够适用于任何类型。当涉及到t=input.get(I)时,我总是会出错; 编辑:我只想使用列表界面

应该是
T

public static <T> List<T> arrayListReverse(List<T> lst) {
  ArrayList reversed= new ArrayList();
  for (int i=lst.size()-1;i>=0;i--){
  <T> t= lst.get(i);
  reversed.add(t);
  }
 return reversed;
 }
公共静态列表arrayListReverse(列表lst){
ArrayList reversed=新的ArrayList();
对于(int i=lst.size()-1;i>=0;i--){
T T=1.get(i);
加(t);
}
反向返回;
}
您也可以使用此选项:

public static <T> List<T> arrayListReverse(List<T> lst) {
    ArrayList reversed= new ArrayList();
    for (int i=lst.size()-1;i>=0;i--){
      T t = lst.get(i);
      reversed.add(t);
    }
   return reversed;
}

公共静态无效反向(列表)

反转指定列表中元素的顺序

此方法以线性时间运行

参数:

列表-要反转其元素的列表

抛出:

UnsupportedOperationException-如果指定的列表或其列表迭代器不支持set操作

公共静态列表arrayListReverse(列表lst){
收藏。反向(lst);
返回lst;
}
在您的代码中
t=
应该是
t=
,但是您也可以在向前迭代时使用a并添加到
的前面。而且,您不应该使用(您没有为
反向
指定泛型),您可以使用菱形运算符
。您可以使用与输入相同的初始大小初始化输出列表。差不多

public static <T> List<T> arrayListReverse(List<T> lst) {
    Collections.reverse(lst);
    return lst;
}
公共静态列表arrayListReverse(最终列表lst){
List reversed=newarraylist(lst.size());
对于(T:lst){
加(0,t);
}
反向返回;
}

如果确实希望该方法返回作为参数给定的相同类型的列表,请使用以下命令:

公共静态L反转(L列表){
收款。反向(列表);
退货清单;
}
如果传递字符串向量,则将返回一个
向量。
如果您传递某事物的ArrayList,它将返回一个
ArrayList

当你通过末日链接列表时,它将返回一个
链接列表

我想,你明白了


顺便说一句,answer还将返回与传递的类型相同的类型,但在这种情况下,如果分配给原始变量,则必须强制转换。

只需在
T
中写入
,而不在
T=lst.get(i)中写入
。这是因为变量的类型是
T
。除非用于练习,否则请使用
集合。反转
。谢谢。但是,我得到了以下结果:找到了2个警告:警告:未选中调用以添加(E)作为原始类型java.util.ArrayList的成员警告:需要未选中的转换:java.util.List找到:java.util.ArrayList–谢谢。然而,我得到了这样的结果:找到了2个警告:警告:未经检查的添加(E)的调用作为原始类型java.util.ArrayList的成员警告:未经检查的转换要求:java.util.List找到:java.util.ArrayList您只需要反转列表或反转列表中的字符串?这并没有保留泛型,集合的响应。反向(新ArrayList())将仅为ArrayList(),泛型类型将丢失
public static <T> List<T> arrayListReverse(List<T> lst) {
    Collections.reverse(lst);
    return lst;
}
public static <T> List<T> arrayListReverse(final List<T> lst) {
    List<T> reversed = new ArrayList<>(lst.size());
    for (T t : lst) {
        reversed.add(0, t);
    }
    return reversed;
}