Java中的无大小数组

Java中的无大小数组,java,arrays,Java,Arrays,我试图定义一个没有任何特定大小的数组,但似乎无法理解它 任何关于我的编码的帮助和评论都是非常棒的,所以我可以为以后的学习修正:) 此外,count变量似乎计数64个字符,而不是txt文件中的27个字符 谢谢 编辑:仅供参考,还有一个类包含我目前正在研究的一些方法(代码末尾提到的MapFunctions) import java.io.FileInputStream; 导入java.io.InputStream; 导入java.util.Scanner; 公共类MapMain{ 公共静态void

我试图定义一个没有任何特定大小的数组,但似乎无法理解它

任何关于我的编码的帮助和评论都是非常棒的,所以我可以为以后的学习修正:) 此外,count变量似乎计数64个字符,而不是txt文件中的27个字符

谢谢

编辑:仅供参考,还有一个类包含我目前正在研究的一些方法(代码末尾提到的
MapFunctions

import java.io.FileInputStream;
导入java.io.InputStream;
导入java.util.Scanner;
公共类MapMain{
公共静态void main(字符串[]args){
扫描仪输入=新扫描仪(System.in);
字符串T;
System.out.print(“文件目的是什么?”);
T=input.nextLine();
//字符串[][]映射=新字符串[!][!];
InputStream=null;
int i;
字符c;
试一试{
//创建新的输入流
is=新文件输入流(T);
System.out.println(“打印字符:”);
整数计数;
计数=0;
//读到流的尽头
而((i=is.read())!=-1){
计数=计数+1;
c=(char)i;
//打印字符
系统输出打印(c);

对于(int i=0;i数组必须具有固定大小。如果您事先不知道大小,请使用
ArrayList


将值添加到
ArrayList
后,可以创建一个数组(其大小基于
ArrayList
中的元素数)并将数据复制到该数组中。

数组必须具有固定大小。如果事先不知道大小,请使用
ArrayList


将值添加到
ArrayList
后,可以创建一个数组(其大小基于
ArrayList
中的元素数)并将数据复制到该数组中。

如果您不确定该用户ArrayList,则该数组应声明行数


如果您不确定用户ArrayList,则数组应该声明行数


在Java中,如果没有大小或可变大小的数组,则无法创建数组。
如果您不确定大小,最好的方法是使用ArrayList而不是Array。但是如果您只想使用数组,那么您可以做的是将数组大小增加一个因子,如果数组大小为full,则无法在Java中创建没有大小或可变大小数组的数组。
如果您不确定数组的大小,最好的方法是使用ArrayList而不是Array。但是如果您只想使用数组,那么您可以做的是将数组大小增加一个系数。如果数组大小已满,则不能使用,则数组必须具有固定的大小。如果需要,您可以将其复制到较大或较小的数组中,或者可以使用内置集合API,包括
ArrayList
,它是一个动态调整大小的数组或
HashMap
,根据您的需要,数组必须具有固定大小。如果需要,您可以将其复制到更大或更小的数组,或者您可以使用内置集合API,包括
ArrayList
,它是一个d可动态调整大小的数组或
HashMap
根据您的需要是否可以拥有2D ArrayList?我是否可以指定要删除的元素(如map[row][col])@Eran@Ankosh您可以有一个
ArrayList
。我刚刚编写的以下示例中是否正确使用了它?
ArrayList Contain=new ArrayList();Contain.get(1(1));
@Eran@Ankosh不可以。它应该是
Contain.get(1).get(1)
。是否可以有一个2D ArrayList?我是否可以指定要删除的元素(如在map[row][col]中) ? @Eran@Ankosh你可以有一个
ArrayList
。在我刚刚写的下面的例子中它用对了吗?
ArrayList Contain=new ArrayList();Contain.get(1(1));
@Eran@Ankosh否。它应该是
Contain.get(1).get(1)
。示例中是按索引获取元素,是否可以使用2D ArrayList?您可以在ArrayList中插入对象,也可以在ArrayList中插入字符串数组。因此,它的工作方式类似于2D字符串数组,您无需预先设置大小。示例中是按索引获取元素,是否可以使用2D数组您可以在ArrayList中插入对象,也可以在ArrayList中插入字符串数组。因此,它将像二维字符串数组一样工作,您无需事先设置大小。
import java.io.FileInputStream;
import java.io.InputStream;
import java.util.Scanner;

public class MapMain {
    public static void main(String[] args){
        Scanner input = new Scanner(System.in);
        String T;
        System.out.print("What is the file dest?");
        T=input.nextLine();
        //String [][] map = new String[!][!];
        InputStream is = null;
        int i;
        char c;

        try{
          // new input stream created
             is = new FileInputStream(T);
             System.out.println("Characters printed:");
             int count;
             count = 0;
             // reads till the end of the stream
             while((i=is.read())!=-1){
                count=count+1;
                c=(char)i;

                // prints character
                System.out.print(c);
                for (int i = 0; i<array1.length;i++){
                    for (int j = 0; j<array1[i].length;j++){
                        array1[i][j]=c;
                    }
                }
             }
             System.out.print("\n"+count+"\n");
        }catch(Exception e){
             // if any I/O error occurs
             e.printStackTrace();
        }finally{
        }
        MapFunctions ankosh = new MapFunctions();
    }
}