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