定义一个ArrayList集合,然后将集合中的元素进行排序
定义一个ArrayList集合,然后将集合中的元素进行排序(排序方法使用冒泡)
package 课后作业;
import java.awt.List;
import java.util.ArrayList;
import com.sun.java_cup.internal.internal_error;
import com.sun.java_cup.internal.parse_action;
public class demo1 {
public static void main(String[] args) {
ArrayList lst=new ArrayList();
lst.add(4);
lst.add(8);
lst.add(6);
lst.add(7);
for (int i = 0; i < lst.size(); i++)
{
for (int j = i+1; j < lst.size(); j++)
{
if((Integer)lst.get(i)>(Integer)lst.get(j))
{
int c=(Integer)lst.get(i);
(Integer)lst.get(i)=(Integer)lst.get(j);//这段报错了不能交换
(Integer)lst.get(j)=c;//这段报错了不能交换 怎么改啊?
}
}
}
for (int i = 0; i < lst.size(); i++) {
System.out.println(lst.get(i));
}
}
}
[解决办法]
列表不是你这么操作的
public static void main(String[] args) { // TODO Auto-generated method stub ArrayList lst=new ArrayList(); lst.add(4); lst.add(8); lst.add(6); lst.add(7); for (int i = 0; i < lst.size(); i++) { for (int j = i+1; j < lst.size(); j++) { if((Integer)lst.get(i)>(Integer)lst.get(j)) { Integer c = (Integer)lst.get(i); Integer c1 = (Integer) lst.get(j); lst.remove(i); lst.add(i, c1); lst.remove(j); lst.add(j, c); } } } for (int i = 0; i < lst.size(); i++) { System.out.println(lst.get(i)); } }
[解决办法]
不是交换,是赋值
int c=(Integer)lst.get(i);你这句赋值就没问题啊
下面的Integer)lst.get(i)=(Integer)lst.get(j);哪有这样乱七八糟赋值的