Tag: 数组

我们如何动态分配和增长数组

我正在研究一个项目,但我不能使用任何现有的java数据结构(即ArraysList,树等) 我只能使用数组。 因此,我需要使用新内存动态更新数组。 我正在读取文本文件,并为arrays内存预先分配100: String [] wordList; int wordCount = 0; int occurrence = 1; int arraySize = 100; wordList = new String[arraySize]; while ((strLine = br.readLine()) != null) { // Store the content into an array Scanner s = new Scanner(strLine); while(s.hasNext()) { wordList[wordCount] = s.next(); wordCount++; } } 现在这适用于100个以下列表项。 br.readline是遍历文本文件每一行的缓冲读取器。 我有它然后将每个单词存储到列表中然后递增我的索引(wordCount)。 但是,一旦我有一个包含超过100个项目的文本文件,我就会收到分配错误。 如何动态更新此arrays(从而重新发明轮子)? […]

关于java:从`String.class`得到`String .class`,如果`String.class`是“运行时类型”怎么办?

这是一个变量Class cls ,现在我想获得另一个组件类型为cls Array Class Object 。 例如,如果cls = String.class ,我想得到String[].class ; 如果cls = int.class ,我想得到int[].class ,我该怎么办? 你看,从String[].class获取String.class非常容易String[].class : Class arrayCls = String[].class; if(arrayCls.isArray()){ Class cls = arrayCls.getComponentType(); } 但我找不到简单的方法来做相反的事情。 这是一个可能的解决方案: Class clazz = String.class; Class arrayClass = Array.newInstance(clazz,0).getClass(); 请问有什么方法可以做到这一点吗?

将文本文件内容逐行存储到数组中

所有,我现在面临的问题是不知道将文本文件中的内容存储到数组中。 情况就像,文本文件内容: abc1 xyz2 rxy3 我希望将它们逐行存储到数组中,这可能吗? 我的期望是这样的: arr[0] = abc1 arr[1] = xyz2 arr[2] = rxy3 我尝试过类似的东西,但似乎对我不起作用。 如果有人能帮助我,真的非常感谢。 代码是: BufferedReader in = new BufferedReader(new FileReader(“path/of/text”)); String str; while((str = in.readLine()) != null){ String[] arr = str.split(” “); for(int i=0 ; i<str.length() ; i++){ arr[i] = in.readLine(); } }

我如何找到数组中的最大值?

在java中,我需要能够通过一个数组并找到最大值。 我如何比较数组的元素以找到最大值?

如何在java中实现数组?

数组实现为java中的对象吗? 如果是这样,我在哪里可以查看数组类的源代码。 我想知道数组中的长度变量是否被定义为常量,如果是这样,为什么它不是所有大写字母LENGTH使代码更容易理解。

如何将Java HashSet 转换为原始int数组?

我有一个带有一堆Integers的HashSet 。 我想把它变成一个数组,但是要调用 hashset.toArray(); 返回一个Object[] 。 除了手动迭代每个元素之外,还有更好的方法将它转换为int数组吗? 我想将数组传递给 void doSomething(int[] arr) 它不会接受Object []数组,即使我尝试像它一样 doSomething((int[]) hashSet.toArray());

java分裂函数

有人可以帮助我理解java中的split是如何工作的。我有以下代码 String temp_array[]; String rates = “RF\\0.6530\\0.6535\\D”; String temp = rates.substring(1, rates.length()); System.out.println(temp);// prints F\0.6530\0.6535\D String regex = “\\”; temp_array = temp.split(regex); String insertString = “INSERT into table values(“+temp_array[0]+”,”+temp_array[1]+”,”+temp_array[2]+”,”+temp_array[3]+”)”; 但是在split函数中我得到以下exception Exception in thread “main” java.util.regex.PatternSyntaxException: Unexpected internal error near index 1 \ ^ at java.util.regex.Pattern.error(Unknown Source) at java.util.regex.Pattern.compile(Unknown Source) at java.util.regex.Pattern.(Unknown Source) at java.util.regex.Pattern.compile(Unknown Source) […]

在Java中将字符串转换为二维字符串数组

我想转换字符串例如: String data = “1|apple,2|ball,3|cat”; 像这样的二维数组 {{1,apple},{2,ball},{3,cat}} 我尝试过使用split(“”)方法,但仍然没有解决方案:( 谢谢.. 凯

arrays的好处

正如我所看到的,列表相对于数组的优势非常明显: generics提供更精确的输入: List, List, List List, List, List List, List, List 。 List接口有一堆有用的方法: addAll , remove等。对于数组,除了get / set之外的所有标准操作必须通过将它传递给静态方法以过程方式执行。 集合提供不同的实现,如ArrayList , LinkedList ,unmodifieable和synchronized列表,可以隐藏在公共List接口下。 OOB长度控制。 作为缺点,我只能提到没有语法糖和运行时类型检查。 同时支持两种结构需要频繁使用asList和toArray方法,这使得代码的可读性降低。 所以我很好奇使用我想念的数组有什么重要的好处。

如何在一个加起来定义总数的数组中生成随机数?

我需要在Java中随机生成一个包含7个插槽的数组。 所有这些插槽的值必须至少为1,但组合后,其总值应为另一个定义的数字。 它们也都需要是一个int值,没有1.5或0.9816465684646数字。 例: int a=10; int[] ar = new int[7] ar[0] = 1 ar[1] = 1 ar[2] = 2 ar[3] = 2 ar[4] = 1 ar[5] = 2 ar[6] = 1 我希望它生成类似的东西,但如果int a = 15,所有数字将以任何顺序总共15