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