有关排序的如何实现的问题,请教高手!!!!!!!!!!!!!
我现在要对一些数据进行排序,然后输出到页面上,数据的格式是:
数据分为两部分,在页面上按两列显示,第一部分为索引号,第二部分为索引号对应的值
例如 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+" "+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