日期:2014-05-20  浏览次数:20640 次

如何得到一个List中元素最长的一个或多个,在线等!!!在线等。着急!
List <String>   list   =   new   ArrayList <String> ();


把其中最长String   长度最长的一个或多个元素拿出来。
求代码,

------解决方案--------------------
写个循环然后比较,好像API没有提供现有函数,不过应该不难.
------解决方案--------------------
import java.util.ArrayList;
import java.util.Iterator;

public class Test1
{
/**
*
* @param args
*/
public static void main(String[] args)
{
ArrayList list = new ArrayList();
String temp = null;
String str = " ";
list.add( "123 ");
list.add( "123456 ");
list.add( "123456789 ");
Iterator it = list.iterator();
while(it.hasNext())
{
temp = (String)it.next();

//把最长的留下
if(temp.length()> str.length())
{
str = temp;
}
}
System.out.println(str);
}
}

就这样就好了
------解决方案--------------------
import java.util.ArrayList;
import java.util.Iterator;

public class ListTest
{
/**
*
* @param args
*/
public static void main(String[] args)
{
ArrayList list1 = new ArrayList();
ArrayList Resultlist = new ArrayList();
int listlength =0;
String temp = null;
String str = " ";
list1.add( "123 ");
list1.add( "123456 ");
list1.add( "123456789 ");
list1.add( "987654321 ");
list1.add( "2222222 ");
list1.add( "llllllddd ");
Iterator it = list1.iterator();
while(it.hasNext())
{
temp = (String)it.next();


if(temp.length()> listlength)
{
listlength = temp.length();
Resultlist.clear();
Resultlist.add(temp);
}
else if ((temp.length())== listlength)
{
Resultlist.add(temp);
}
}
Iterator itresult = Resultlist.iterator();
while(itresult.hasNext())
{
temp =(String)itresult.next();
System.out.print(temp + " ");
}
}
}

------解决方案--------------------
public static void MaxLengthFromList(List list){
int max=0;
String str= " ";
for(int i=0;i <list.size();i++){
if(max < ((String)(list.get(i))).length()){
max=((String)(list.get(i))).length();
str = ((String)(list.get(i)));
}
}
System.out.println( "max length string is: " + str + ",length is: " + max);
}
------解决方案--------------------
写个按长度排序的compare