黑马程序员技术交流社区

标题: 求指教:Java如何输入不确定位数的数组? [打印本页]

作者: 徐启坤    时间: 2013-5-9 16:51
标题: 求指教:Java如何输入不确定位数的数组?
本帖最后由 徐启坤 于 2013-5-10 13:00 编辑

如题,就是在输入的时候并不知道会输入字符有多少,该怎么解决呢?

作者: 薛淑凯    时间: 2013-5-9 17:01
java数组的创建是在运行的时候进行的,可以直接用new在数组里创建元素
作者: 徐启坤    时间: 2013-5-9 17:11
薛淑凯 发表于 2013-5-9 17:01
java数组的创建是在运行的时候进行的,可以直接用new在数组里创建元素

我想问的是如何解决输入,并不是数组的创建,就是在输入的时候并不知道会有多少数据会被输入该怎么办啊
作者: 蔡增辉    时间: 2013-5-9 17:12
数组一旦建立,其大小就不可更改,是不能动态调整数组大小的;
根据你说的情况,建议采用集合的方式,如ArrayList,StringBuilder 也是不错的选择;
作者: 风乐    时间: 2013-5-9 17:18
楼主可以先用Stringbuilder或集合,然后再转换成数组
作者: 徐启坤    时间: 2013-5-9 20:02
各位,如何存储我知道了,那么怎么输入呢???
作者: 金辉    时间: 2013-5-9 22:55
  1. import java.util.ArrayList;

  2. public class JavaArrayList {
  3.        public static void main(String[]args) {
  4.                //Java动态数组的初始化
  5.                ArrayList al=new ArrayList();
  6.                //向J数组中添加数据
  7.                al.add("a");
  8.                al.add("b");
  9.                al.add("c");
  10.                //输出数组
  11.                for(int i=0;i<al.size();i++) {
  12.                         String alEach=(String)al.get(i);
  13.                          System.out.println(alEach);
  14.                }
  15.                //删除数组中的某个元素,删除第二个元素
  16.                al.remove(1);
  17.                //修改数组,把新的元素放到第二个位置
  18.                al.add(1,"2");
  19.                //输出数组
  20.                for(int i=0;i<al.size();i++) {
  21.                          String alEach=(String)al.get(i);
  22.                          System.out.println(alEach);
  23.                 }
  24.         }
  25. }
复制代码
这个能说明问题
作者: Super_Class    时间: 2013-5-9 23:04
数组一旦创建,大小就已经确定。
你应该考虑的是几个类。比如实现了Collection的子类
|--ArrayList,创建后,随着元素的增加,可以扩大长度。好像是直接扩大原来的一倍(这个是确定的)
|--Vector,与ArrayList相同都是想了collection接口。长度不够时,扩大原来的一般。
相对而言,ArrayList是线程安全的。
作者: 刘胜寒    时间: 2013-5-10 12:38
如果问题以解决,请及时修改分类。。谢谢合作




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2