如何对字符串格式的数字进行排序,然后放到ArrayList中?import java.util.Date;
public class Demo1 {public ArrayList fun(String[] s)
{
//对字符串格式的数字进行排序,然后放到ArrayList中?
//...?
} public static void main(String[] args) {
String[] s={"10","7","9.5","02","100"};
Demo1 demo1=new Demo1();
ArrayList a=demo1.fun(s);
//?在此打印输出a
}
}
public class Demo1 {public ArrayList fun(String[] s)
{
//对字符串格式的数字进行排序,然后放到ArrayList中?
//...?
} public static void main(String[] args) {
String[] s={"10","7","9.5","02","100"};
Demo1 demo1=new Demo1();
ArrayList a=demo1.fun(s);
//?在此打印输出a
}
}
#include <vector>
#include <algorithm>
#include <iostream>
#include <math.h>using namespace std;class compare
{
public:
int operator()(string const& a, string const& b)
{
double d1 = atof(a.c_str());
double d2 = atof(b.c_str());
return d1 < d2;
}
};class out
{
public:
void operator()(string const& a)
{
cout<<a<<" ";
}
};
int main(int argc, char* argv[])
{ vector<string> v;
v.push_back("23");
v.push_back("21");
v.push_back("24");
v.push_back("25.6"); std::sort(v.begin(), v.end(), compare()); for_each(v.begin(), v.end(), out());
printf("Hello World!\n");
return 0;
}
private static Set set = new TreeSet(new Comparator()
{
public int compare(Object o1, Object o2)
{
double result = Double.parseDouble((String)o1) - Double.parseDouble((String)o2);
if(result > 0)
{
return 1;
}
else if(result < 0)
{
return -1;
} return 0;
} public boolean equals(Object obj)
{
return true;
}
}); public static List fun(String[] abc)
{
set.clear();
for(int i = 0; i < abc.length; i++)
{
set.add(abc[i]);
}
return new ArrayList(set);
}
import java.util.Collections;
import java.util.Comparator;public class Test implements Comparator { @SuppressWarnings("unchecked")
public ArrayList fun(String[] s) {
ArrayList<String> list = new ArrayList<String>(); for (int i = 0; i < s.length; i++) {
list.add(s[i]);
} Collections.sort(list, this); return list;
} public static void main(String[] args) {
String[] s = { "10", "7", "9.5", "02", "100"}; Test test = new Test(); ArrayList a = test.fun(s); System.out.println(a);
} public int compare(Object o1, Object o2) {
// TODO Auto-generated method stub
String str1 = o1.toString();
String str2 = o2.toString();
double d1 = Double.parseDouble(str1);
double d2 = Double.parseDouble(str2);
if (d1 > d2) {
return 1;
}
else if (d1 < d2) {
return -1;
}
return 0;
}}
public class Demo1 {public ArrayList fun(String[] s)
{
//对字符串格式的数字进行排序,然后放到ArrayList中?
//...?
Double[] d=new Double[s.length];
for(int i=0;i<s.length;i++){
d[i]=new Double(s[i]);
}
Arrays.sort(d);
ArrayList list=new ArrayList();
for(int i=0;i<d.length;i++){
list.add(d[i]);
}
return list;
} public static void main(String[] args) {
String[] s={"10","7","9.5","02","100"};
Demo1 demo1=new Demo1();
ArrayList a=demo1.fun(s);
//?在此打印输出a
Iterator i=a.iterator();
while(i.hasNext()){
System.out.println(i.next());
}
}
}
这里也做了个例子
速度快一点哦
import java.util.List;
import java.util.ArrayList;public class For_job_test {
public List fun(String[] s)
{
//对字符串格式的数字进行排序,然后放到ArrayList中?
//...?
float temp[] = new float[s.length];
for(int i=0;i<s.length;i++)
temp[i] = Float.parseFloat(s[i]);
java.util.Arrays.sort(temp);
return java.util.Arrays.asList(temp);
} public static void main(String[] args) {
long start = System.currentTimeMillis();
String[] s={"10","7","9.5","02","100"};
For_job_test demo1=new For_job_test();
List a=demo1.fun(s);
System.out.print(System.currentTimeMillis() -start);
//?在此打印输出a
}
}
[code=Java]
public static ArrayList fun(String[] s) {
ArrayList result = new ArrayList();
double[] ds=new double[s.length];
int i=0;
for(String value:s){
ds[i++]=new Double(value);
}
Arrays.sort(ds);
for(double d:ds){
result.add(d);
}
return result;
}
[code]