两个问题:
1。我要存储字符串,有很多个字符串,且不知道究竟有多少个。
这种情况下:String[]就不能用了,因为不知道个数,没办法定义和初始化。问:用什么有效的方法解决这个问题?2。我现在用Vector来存,存是存了,要取好像也不容易。
如:Vector typeT = new Vector();
typeT.add("asdfaf");//为了说明问题临时表示为一个字符串
System.out.println(typeT.get(0));//可以正确显示为asdfaf
typeTotal[0] = (String)typeT.get(0);或者typeTotal[0] = typeT.get(0).toString();
System.out.println(typeTotal[0]);//显示出类似于内存地址的[Ljava.lang.String;@18a49e0。问:我又该怎么取出来呢?
1。我要存储字符串,有很多个字符串,且不知道究竟有多少个。
这种情况下:String[]就不能用了,因为不知道个数,没办法定义和初始化。问:用什么有效的方法解决这个问题?2。我现在用Vector来存,存是存了,要取好像也不容易。
如:Vector typeT = new Vector();
typeT.add("asdfaf");//为了说明问题临时表示为一个字符串
System.out.println(typeT.get(0));//可以正确显示为asdfaf
typeTotal[0] = (String)typeT.get(0);或者typeTotal[0] = typeT.get(0).toString();
System.out.println(typeTotal[0]);//显示出类似于内存地址的[Ljava.lang.String;@18a49e0。问:我又该怎么取出来呢?
Vector typeT = new Vector();
typeT.add("asdfaf");
System.out.println(typeT.get(0));
typeT.add("asdfaf");//为了说明问题临时表示为一个字符串
System.out.println(typeT.get(0));//可以正确显示为asdfaf
String s = typeT.get(0).toString();//或者typeTotal[0] = typeT.get(0).toString();
System.out.println(s);
这样没有问题呀
String[] typeTotal = new String[typeT.size()];//是一个String数组,长度由typeT.size()决定。我的做法是先用Vector存起来,最后还是要转存到String[]里面去。
list.add(arg0);可以这么写
需要同步 的话,用collections.XXX的方法生成(名字忘了,lz去查api吧)2、问题同一楼,typeTotal[0]像 是一个Listgood luck
list.add("abcd");String[] typeTotal = list.toArray(new String[0]);System.out.println(typeTotal[0]);
list.add("abcd"); String[] typeTotal = list.toArray(new String[0]); System.out.println(typeTotal[0]);
JAVA集合中提供的链表实现类是LinkedList,可以无限存储对象(前提是有足够的内存)
要取也很容易,有个get(int index) 返回此列表中指定位置处的元素。
至于想做其他的操作,查下API文档
import java.util.Arrays;
import java.util.List;
public class Test {
public static void main(String[] args){
List<String> list=new ArrayList<String>();
list.add("aaa");
list.add("bbb");
System.out.println(list.get(0));
System.out.println(list.get(1));
for(String str:list)
System.out.println(str);
String[] result=list.toArray(new String[0]);
System.out.println(Arrays.toString(result));
}
}