首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > Java面试 >

定义一个ArrayList集合,然后将集合中的元素进行排序,该怎么解决

2012-04-16 
定义一个ArrayList集合,然后将集合中的元素进行排序定义一个ArrayList集合,然后将集合中的元素进行排序(排

定义一个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));
}
}

}


[解决办法]
列表不是你这么操作的

Java code
    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);哪有这样乱七八糟赋值的

热点排行