Tag: 数组

填充JComboBox的正确方法是什么?

我目前正在Eclipse上用Java构建一个应用程序作为编程基础和基本java编程的自助指南,这纯粹是教育性的,其唯一目的是能够轻松地引用主题并练习我的编程,因为我通过编程来学习它们进入本教程应用程序。 随着时间的推移,应用程序的内容将随着我学习更多编程组件而扩展。 所以我的第一个问题归结为正确的forms。 我正在使用下拉框( JComboBox ),以便从GUI中选择特定主题。 我想填写列表并保持程序干净整洁。 所以我的问题是如何填充JComboBox以限制混乱的代码。 也许是一个文本文件,我可以从中单独添加主题并更有效地编辑? 我正在完成正确的编程程序,而不是我能做到的所有方法。 我知道我可以使用ArrayList ,但我很想理解在使用大量内容时所做的选择,而不是很少。 谢谢, 西蒙

如何用正则表达式和Java计算文本中的音节

我有文本作为String ,需要计算每个单词的音节数。 我试图将所有文本拆分成单词数组,而不是单独处理每个单词。 我使用正则表达式。 但是音节的模式不能正常工作。 请建议如何更改它以计算正确的音节数。 我的初始代码。 public int getNumSyllables() { String[] words = getText().toLowerCase().split(“[a-zA-Z]+”); int count=0; List tokens = new ArrayList(); for(String word: words){ tokens = Arrays.asList(word.split(“[bcdfghjklmnpqrstvwxyz]*[aeiou]+[bcdfghjklmnpqrstvwxyz]*”)); count+= tokens.size(); } return count; }

如何在Java中创建字符串向量数组?

我使用下面的代码尝试创建一个字符串向量数组,我希望有一个包含3个项目的数组,每个项目都是一个字符串向量: Vector Result_Vector_Array[]=new Vector[3]; 但NB强调该行为错误(通用数组创建),有什么问题? 这样做的正确方法是什么? 我知道还有Arraylist,但它没有同步,所以我想使用矢量。

重复数组的元素

如何在Java中重复数组的元素? 例如,给定数组{a,b,c,d,e,f}和数字n ,我想生成一个看起来像{a,b,c,d,e,f,a,b,c,d,e,f,a,b,c,…}的n元素数组{a,b,c,d,e,f,a,b,c,d,e,f,a,b,c,…} 。 如果我事先知道输入和输出数组的长度,我可以写这样的东西: int a=input[0], b=input[1], c=input[2], d=input[3], e=input[4], f=input[5]; int[] array = new int[n]; array[0]=a; array[1]=b; array[2]=c; array[3]=d; array[4]=e; array[5]=f; array[6]=a; array[7]=b; array[8]=c; array[9]=d; array[10]=e; array[11]=f; array[12]=a; array[13]=b; array[14]=c; // .. and so on 但是,如果我不知道长度,我怎么能这样做呢? 我假设我必须使用某种循环,但我不知道如何写一个。 或者是否有一些内置的方法在Java中重复一个数组,就像其他一些语言一样?

在Java中高效实现多维数组?

据我所知(从这样的答案),java没有原生的多维连续内存数组( 例如,与C#不同 )。 虽然锯齿状数组语法(数组数组)可能对大多数应用程序都有好处,但我仍然想知道如果你想要连续内存数组的原始效率(避免不必要的内存读取),最佳做法是什么 我当然可以使用映射到2D的一维数组,但我更喜欢更结构化的东西。

为什么我不能内联创建新的Java数组?

为什么第一个工作而第二个工作不起作用? 1)好的 String[] foo = {“foo”}; bar.setArray(foo); 2)坏 bar.setArray({“foo”}); 有没有快速的方法在一行上创建一个String []?

字符串数组是否可变?

我想知道Java中的String数组是否可变? 我知道字符串是不可变的,但字符串数组怎么样? 如果我有一个字符串数组,并更改内容,是否会创建一个新的字符串对象? 或者实际值是否会改变? 提前致谢

在运行时设置数组的等级

我想知道最简单的方法是实现一个在运行时指定排名的数组。 我正在处理的示例存储了格点的布尔值数组,我希望用户能够选择模型在运行时使用的空间维数。 我查看了Array.newInstance()方法: dimensionOfSpace = userInputValue; // this value comes from GUI or whatever int latticeLength = 5; // square lattice for simplicity int[] dimensions = new int[dimensionOfSpace]; for(int i = 0; i < l.length; i++) l[i] = length; Object lattice = Array.newInstance(boolean.class, dimensions); 但是以任何方式访问这些值似乎都需要非常慢的方法,例如递归使用Array.get,直到返回的值不再是数组,即使用isArray()。 我在这里错过了一个明显的解决方案 我希望能够以类似于foo [i] [j] [k]的方式访问这些值。

从Java Array获得前四大值

我试图从整数数组输入中找到前4个最大值。 例如,对于给定的输入数组{1232,-1221,0,345,78,99}将返回{1232,345,99,78}作为前4个最大值。 我用下面的方法解决了这个问题。 但我仍然不满足于它的时间效率。 当输入变大时,是否有机会更多地优化方法? 任何线索都非常感谢。 谢谢。 public int[] findTopFourMax(int[] input) { int[] topFourList = { Integer.MIN_VALUE, Integer.MIN_VALUE, Integer.MIN_VALUE, Integer.MIN_VALUE }; for (int current : input) { if (current > topFourList[0]) { topFourList[3] = topFourList[2]; topFourList[2] = topFourList[1]; topFourList[1] = topFourList[0]; topFourList[0] = current; } else if (current > topFourList[1]) { topFourList[3] = topFourList[2]; topFourList[2] […]

Arrays.asList(…).contains(…)如何工作?

我有以下代码.. String[] weekEnds={“0″,”6”}; for(int i=0;i<7;i++){ if(Arrays.asList(weekEnds).contains(i)){ System.out.println("I am in the array"); } } 但它没有进入if条件..我不知道我哪里出错了..谢谢你提前..