日期:2014-05-18  浏览次数:20661 次

有关排序的如何实现的问题,请教高手!!!!!!!!!!!!!
我现在要对一些数据进行排序,然后输出到页面上,数据的格式是:
数据分为两部分,在页面上按两列显示,第一部分为索引号,第二部分为索引号对应的值
例如 001 0.2
  002 0.5
我要对第二部分排序,按从大到小的顺序进行排序,排序后应该显示为:
  002 0.5
  001 0.2
用什么集合类比较简单,或者有什么简单的方法可以实现,望高手指点!

------解决方案--------------------
<%@ page contentType="text/html; charset=GBK" import="java.util.*,java.io.*,java.text.*,bean.stu" %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<%@taglib uri="/WEB-INF/struts-html.tld" prefix="html" %>
<html>
<head>
<title>

</title>

<script type="" language="javascript">

var arr=new Array();

function obj(value1,value2)
{
this.value1=value1;
this.value2=value2;
}

obj.prototype.toString=function()
{
return "00"+this.value1+"&nbsp;"+this.value2;
}

function sort(value1,value2)
{
if (value1.value2>value2.value2)
{
return -1;
}else if (value1.value2<value2.value2)
{
return 1;
}else{
return 0;
}
}

<%
BufferedReader reader=new BufferedReader(new FileReader(new File("d:\\a.txt")));
String str=reader.readLine();
int i=0;
while(str!=null)
{
String[] arr=str.split("\\s");
%>
var o<%=i%>=new obj(<%=arr[0]%>,<%=arr[1]%>);
arr.push(o<%=i%>);
<%
i++;
str=reader.readLine();
}

reader.close();
%>

arr.sort(sort);

for (var i=0;i<arr.length;i++)
{
document.write(arr[i].toString()+"<br>");
}
</script>
</head>
<body>

</body>
</html>


a.txt内容:
001 0.2
002 0.5
003 0.1
004 0.3