import java.util.*;
public class A
{
public static void main(String [] args)
{
String [] s = {"01","02.01","01.01","02.01.01"};
LinkedList<String>ls=new LinkedList<String>();
for(int i=0;i<s.length;i++)
ls.add(s[i]);
for(int i=0;i<ls.size()-1;i++)
for(int j=i+1;j<ls.size();j++)
{
if(ls.get(j).indexOf(ls.get(i))==0)
{
ls.remove(j);
j=i;
continue;
}
}
for(int i=0;i<ls.size();i++)
{
System.out.println(ls.get(i));
}
}
}
public class A
{
public static void main(String [] args)
{
String [] s = {"01","02.01","01.01","02.01.01"};
LinkedList<String>ls=new LinkedList<String>();
for(int i=0;i<s.length;i++)
ls.add(s[i]);
for(int i=0;i<ls.size()-1;i++)
for(int j=i+1;j<ls.size();j++)
{
if(ls.get(j).indexOf(ls.get(i))==0)
{
ls.remove(j);
j=i;
continue;
}
}
for(int i=0;i<ls.size();i++)
{
System.out.println(ls.get(i));
}
}
}
1.5以下的也可以,不过的修改一下。就是不能自动装箱,和自动解箱了。
import java.util.*;
public class A
{
public static void main(String [] args)
{
String [] s = {"01","02.01","01.01","02.01.01"};
LinkedList ls=new LinkedList();
for(int i=0;i<s.length;i++)
ls.add(s[i]);
for(int i=0;i<ls.size()-1;i++)
for(int j=i+1;j<ls.size();j++)
{
if(((String)ls.get(j)).indexOf((String)ls.get(i))==0)
{
ls.remove(j);
j=i;
continue;
}
}
for(int i=0;i<ls.size();i++)
{
System.out.println((String)ls.get(i));
}
}
}
如果s数组变成 List list呢?怎么处理?谢谢了!!!
Taster taster = (Taster) list.get(i);
Category category = taster.getCategory();
String name = category.getName();
String id = category.getCategoryid(); ls.add(list[i]);
}
这样的话,怎样加入到ls中?
LinkedList ls=new LinkedList();
for(int i=0;i<s.length;i++)
ls.add(s[i]);
这个的作用本身就是把数组变成list.另外:
for (int i = 0 ; list != null && i < list.size(); i++){
Taster taster = (Taster) list.get(i);
Category category = taster.getCategory();
String name = category.getName();
String id = category.getCategoryid(); ls.add(list[i]);
}
这样的话,怎样加入到ls中?这个没有看懂什么意思啊?
String[] str = new String[list.size()];
for (int i = 0 ; list != null && i < list.size(); i++){
Taster taster = (Taster) list.get(i);
Category category = taster.getCategory();
String name = category.getName();
String id = category.getCategoryid();
str[i] = id;
namerole = name;
}
我这样把id的值赋给str数组,然后再执行那段程序,就不行了,没有判断包含关系,已经晕了,多执教
str[i] = id;这段程序,你能保证id不等于null吗?
String[] str = new String[list.size()];
for (int i = 0 ; list != null && i < list.size(); i++){
Taster taster = (Taster) list.get(i);
Category category = taster.getCategory();
String name = category.getName();
String id = category.getCategoryid();
str[i] = id;
namerole = name;
}
//String[] s = {"01", "02.01", "01.01", "02.01.01"};
LinkedList ls = new LinkedList();
for (int i = 0; i < str.length; i++)
ls.add(str[i]);
for (int i = 0; i < ls.size() - 1; i++)
for (int j = i + 1; j < ls.size(); j++) {
if (((String) ls.get(j)).indexOf((String) ls.get(i)) == 0) {
ls.remove(j);
j = i;
continue;
}
}
for (int i = 0; i < ls.size(); i++) {
System.out.println((String) ls.get(i));
}
我是这样写的,帮忙看看
String[] str = new String[list.size()];
for (int i = 0 ; list != null && i < list.size(); i++){
Taster taster = (Taster) list.get(i);
Category category = taster.getCategory();
String name = category.getName();
String id = category.getCategoryid();
str[i] = id;
namerole = name;
} //加上这条语句你看看你的数组有没有问题。
for(int i=0;i<str.length;i++)
System.out.println(str[i]); //String[] s = {"01", "02.01", "01.01", "02.01.01"};
LinkedList ls = new LinkedList();
for (int i = 0; i < str.length; i++)
ls.add(str[i]);
for (int i = 0; i < ls.size() - 1; i++)
for (int j = i + 1; j < ls.size(); j++) {
if (((String) ls.get(j)).indexOf((String) ls.get(i)) == 0) {
ls.remove(j);
j = i;
continue;
}
}
for (int i = 0; i < ls.size(); i++) {
System.out.println((String) ls.get(i));
}
就是str数组如果是{"01", "02.01", "01.01", "02.01.01"};经过算法之后,输出的还是{"01", "02.01", "01.01", "02.01.01"};
System.out.println((String) ls.get(i));
}
可能是这样的,注意结果是存在ls里的,str数组当然不会变化。
你返回的是str数组吗????
应该将ls重新构造一个新的数组,返回
System.out.println((String) ls.get(i));
}不是的,这个打印结果就是{"01", "02.01", "01.01", "02.01.01"};没有变化
String[] str = new String[list.size()];
for (int i = 0 ; list != null && i < list.size(); i++){
Taster taster = (Taster) list.get(i);
Category category = taster.getCategory();
String name = category.getName();
String id = category.getCategoryid();
str[i] = id;
namerole = name;
}
//换成这条语句,你看看结果。
s = {"01", "02.01", "01.01", "02.01.01"};
LinkedList ls = new LinkedList();
for (int i = 0; i < str.length; i++)
ls.add(str[i]);
for (int i = 0; i < ls.size() - 1; i++)
for (int j = i + 1; j < ls.size(); j++) {
if (((String) ls.get(j)).indexOf((String) ls.get(i)) == 0) {
ls.remove(j);
j = i;
continue;
}
}
for (int i = 0; i < ls.size(); i++) {
System.out.println((String) ls.get(i));
}
String[] str = new String[list.size()];
for (int i = 0 ; list != null && i < list.size(); i++){
Taster taster = (Taster) list.get(i);
Category category = taster.getCategory();
String name = category.getName();
String id = category.getCategoryid();
str[i] = id;
namerole = name;
}
//换成这条语句,你看看结果。
str = {"01", "02.01", "01.01", "02.01.01"};
LinkedList ls = new LinkedList();
for (int i = 0; i < str.length; i++)
ls.add(str[i]);
for (int i = 0; i < ls.size() - 1; i++)
for (int j = i + 1; j < ls.size(); j++) {
if (((String) ls.get(j)).indexOf((String) ls.get(i)) == 0) {
ls.remove(j);
j = i;
continue;
}
}
for (int i = 0; i < ls.size(); i++) {
System.out.println((String) ls.get(i));
}