
Java中的不可变数组
有没有Java原始数组的不变选择?制作一个原始数组final实际上并不能阻止人们做类似的事情final int[] array = new int[] {0, 1, 2, 3};array[0] = 42;我希望数组的元素不可更改。回答:不适用于原始数组。你将需要使用列表或其他数据结构:List<Integer> items = Collections.unmodifiableList(Arrays.asList(0,1,2,3));...
2024-01-10
Java 查找数组中第二高的数字
我很难理解在数组中找到第二大数字的方法背后的逻辑。所使用的方法是在数组中找到最高的,但小于先前最高的(已经找到)。我仍然不明白的是为什么|| highest_score == second_highest有必要。例如,我输入了三个数字:98、56、3。没有它,最高和第二高将都是98。请解释。int second highest = score[0]; if (score[...
2024-01-10
我们可以在Java中调整数组的大小吗?
我们可以在Java中调整数组的大小吗?如果没有,请解释一下: int arr[] = new int[1]; arr[0]=-10; //arr[1]=1; arr=new int[2]; //Explain this arr[0]=-1; arr[1]=1; System.out.println(arr[0]+" "+arr[1]);回答:就我而言,调整数组大小是不可能的。要了解代码为什么起作用,您需要了解数组是引用类型。arr持有...
2024-01-10
什么时候在Java中使用数组列表?
在Java中,何时优先使用列表而不是数组?回答:我认为问题是相反的-什么时候应该在列表上使用数组?只有您有特定的理由这样做(例如:项目约束,内存问题(不是很好的理由)等)列表更易于使用(imo),并且具有更多功能。注意:您还应该考虑是否像Set或其他数据结构这样的东西比List更适...
2024-01-10
用Java方法返回两个数组
考虑到我有两个数组,例如:String[] array1 = new String[10];int[] array2= new int[10];这样,在一个方法中,我计算了两个数组,即array1&array2,现在我想返回这两个数组。我应该怎么做?我在这里读到我可以创建另一个类并定义某些对象类型,并将这些数组封装在该类构造函数中,但是我仍然感到困惑,并...
2024-01-10
Java-将数组存储到内存或从内存上传到磁盘
我有一个长度为2.2亿(固定)的int和float数组。现在,我想将这些阵列存储到内存和磁盘/从内存和磁盘上载。目前,我正在使用JavaNIO的FileChannel和MappedByteBuffer解决此问题。它可以正常工作,但大约需要5秒钟(Wall ClockTime)(用于将阵列存储到内存或从内存上载到磁盘或从磁盘上载到磁盘)。实际上,...
2024-01-10
Java在数组索引中找到最后一个成员
因此,假设我有一个大小为10的数组,索引范围为0到9。我在其中添加了一堆元素,并停止在索引6处添加。因此,使用array.length,我可以知道数组的大小为10,但是,如何找到哪个索引包含最后一个值,之后又为空?我是否想进行循环并在index== null处停止?我通过创建一个动态数组来模拟arraylist,该数...
2024-01-10
如何在Java中过滤数组?
如何过滤Java中的数组?我有一系列对象,例如汽车:类:public class Car{ public int doors; public Car(int d){ this.doors = d; }}用:Car [] cars = new Cars[4];cars[0] = new Car(3);cars[1] = new Car(2);cars[2] = new Car(4);cars[3] = new Car(6);现在我要过滤汽车阵列,只保留4门或更多:for(int...
2024-01-10
Java 通用数组创建错误
我正在尝试做这样的事情:public static ArrayList<myObject>[] a = new ArrayList<myObject>[2];myObject是一个类。我收到此错误:-通用数组创建(箭头指向new。)回答:你不能有泛型类的数组。Java根本不支持它。你应该考虑使用集合而不是数组。例如,public static ArrayList<List<MyObject>> a = new ArrayList<List<MyObject>();另...
2024-01-10
如何在Java中复制二维数组?
我需要为正在进行的项目制作一个相当大的二维数组的副本。我有两个2D阵列:int[][]current;int[][]old;我也有两种方法来进行复制。我需要复制数组,因为当前会定期更新。public void old(){ old=current}和public void keepold(){ current=old}但是,这不起作用。如果我叫old,对current进行更新,然后再调用keepold...
2024-01-10
Java 对可能包含数字的字符串排序
我需要编写一个比较字符串的Java Comparator类,但是要稍作改动。如果要比较的两个字符串在字符串的开头和结尾相同,并且中间不同的部分是整数,则根据这些整数的数值进行比较。例如,我希望以下字符串按显示顺序结束:aaabbb 3 cccbbb 12 cccccc 11dddeee 3 ddd jpeg2000 eeeeee 12 ddd jpeg2000 eee如你所见,...
2024-01-10
在Java中以升序对csv文件中的一列数据进行排序
import java.io.*;import java.util.*;public class Sort {public static void main(String[] args) throws Exception {BufferedReader reader = new BufferedReader(new FileReader("data1.csv")); Map<String, String> map=new TreeMap<String, String>();String lin...
2024-01-10
如何在Java中对对象数组进行排序?
我的数组不包含任何字符串。但是它包含对象引用。每个对象引用都通过toString方法返回名称,id,作者和发布者。public String toString() { return (name + "\n" + id + "\n" + author + "\n" + publisher + "\n");}现在,我需要按名称对对象数组进行排序。我知道如何排序,但是我不知道如何从对象中提取名称并对它们...
2024-01-10
Java 如何将两个排序数组合并为一个排序数组?
这是在采访中问我的,这是我提供的解决方案:public static int[] merge(int[] a, int[] b) { int[] answer = new int[a.length + b.length]; int i = 0, j = 0, k = 0; while (i < a.length && j < b.length) { if (a[i] < b[j]) { answer[k] = a[i]; ...
2024-01-10
如何在最快的时间内对几乎排序的数组进行排序?(Java)
我有一个几乎是但不是很排序的值数组,有一些值被替换(例如,100000中有50个)。如何最有效地对其进行排序?(在这里,性能绝对至关重要,应该比O(N)更快)。我了解Smoothsort,但是找不到Java实现。有谁知道它是否已经实施?或者我可以用什么代替平滑排序?回答:实际上,Wikipedia包含Smoothsort...
2024-01-10
Java:如何对浮点数组进行反向排序?
我使用以下行以相反的顺序对浮点数组进行排序,但出现错误消息,这是什么问题?float sortedData[]=new float[100]; ...Arrays.sort(sortedData,Collections.reverseOrder());错误:找不到符号符号:方法sort(float [],java.util.Comparator)位置:类java.util.ArraysArrays.sort(sortedData,Collections.reverseOrder());==========...
2024-01-10
Java数组排序降序?
有没有什么简便的方法可以按降序对数组进行排序,就像它们在Arrays类中如何按升序排序?回答:你可以使用它对所有对象进行排序sort(T[] a, Comparator<? super T> c) Arrays.sort(a, Collections.reverseOrder());Arrays.sort()不能直接用于降序对原始数组进行排序。如果尝试Arrays.sort()通过传递由定义的反向Comparator 来调...
2024-01-10
如何在Java中对具有字符串,整数和字母数字的集合进行排序
有一些值,例如AB,A012B,CD,1、10、01、9我必须对其进行排序,输出的输出应为01、1、9、10,A012B,AB,CD可以使用任何试图使用collection的collection.sort函数,但将所有内容都视为字符串并像01,1,10,9,A012B,AB,CD一样打印,这不是我的要求…请帮助回答://捕鱼技术List<String> values = new ArrayList<String>(); ...
2024-01-10
如何在Java中对包含数字的字符串进行排序
我想对具有nr的字符串进行排序。我怎么做?可以说我的整数是Class2"3""4""1"在主要我做class2.Sort();提前致谢。回答: public static void main(String[] args) { String string = "3 42 \n 11 \t 7 dsfss 365 \r 1"; String[] numbers = string.split("\\D+"); Arrays.sort(numbers, ne...
2024-01-10
Java根据一列对二维数组排序
在Java中,我的数组中有一个数据,如下所示2019.07.25 20:24 Message A2019.07.25 20:17 Message G2019.07.25 20:25 Message B2019.07.25 20:30 Message D2019.07.25 20:01 Message F2019.07.25 21:08 Message E2019.07.25 19:54 Message R我想根据第一列对其进行排序,所以我的最终数据可以像这样2019.07.25 19:54 Message ...
2024-01-10
如何从给定值中找到Java中STRING数组的索引?
我想知道Java数组中是否有本机方法来获取给定值的表索引?假设我的表格包含以下字符串:public static final String[] TYPES = { "Sedan", "Compact", "Roadster", "Minivan", "SUV", "Convertible", "Cargo", "Others" };假设用户必须输入汽车的类型,然后在后台程序将使用该字符...
2024-01-10
Java数组的length属性在哪里定义?
我们可以ArrayList<E>使用它的public方法确定a的长度size(),例如ArrayList<Integer> arr = new ArrayList(10);int size = arr.size();同样,我们可以Array使用length属性确定对象的长度String[] str = new String[10];int size = str.length;size()方法ArrayList是在ArrayList类内部定义的,而此length属性的Array定义在哪里?回答:数组是在Ja...
2024-01-10
如何使用变量定义Java对象名称?
我需要使用可以通过循环轻松获得的命名模式来创建大量对象。有什么办法可以像这样从变量中读取对象名称?String Var = "ObjectName";ClassName Var = new ClassName();我不需要为对象分配变量名,仅是在分配时从其获取名称。回答:您所选择的单词表明您不完全了解变量和对象的工作方式,因此您需要对其进...
2024-01-10
如何在Java中定义相对路径
我需要读config.properties里面MyClass.java。我尝试通过如下相对路径进行操作:// Code called from MyClass.javaFile f1 = new File("..\\..\\..\\config.properties"); String path = f1.getPath(); prop.load(new FileInputStream(path));这给了我以下错误:..\..\..\config.properties (The system canno...
2024-01-10
检查Java中是否已定义变量
到达那里时,我需要检查代码中其他地方是否已定义了变量。由于包含在JSP中,因此有时会在两个位置定义一个变量,然后java返回一个错误。使用jsp:include似乎也不起作用。我正在寻找#ifndefc 形式的东西,而不是在预处理器中(因为这是java),以避免重复的局部变量问题。我无法使用,==null或者isnu...
2024-01-10
如何在Java上重新定义已经定义的类
我希望在下面的代码中调用newTarget.a()和newTarget.b()时应用调制后的ASM类,以便它看起来像这样当调用应用了修改的ASM类的newTarget.a()和newTarget.b()时,如何获得以下结果?package asm;import org.objectweb.asm.ClassReader;import org.objectweb.asm.ClassVisitor;import org.objectweb.asm.ClassWriter;import org.objectweb...
2024-01-10
如何确定在Java数组中是否包含特定值?
如何确定在Java数组中是否包含特定值?回答:从java-8开始,你现在可以使用Streams。String[] values = {"AB","BC","CD","AE"};boolean contains = Arrays.stream(values).anyMatch("s"::equals);要检查的阵列是否int,double或long包含一个值使用IntStream,DoubleStream或LongStream分别。例int[] a = {1,2,3,4};boolean contains =...
2024-01-10
Scala如何在方法定义中接收多个参数?
Java具有:public void someMethod(int ... intArray) { // question: what is the equivalent to "..." // do something with intArray}如何在Scala中实现相同的功能?也就是说,将不确定数量的参数传递给方法?回答:def someMethod(values : Int*)给出一个数组。将变量参数参数作为最后一个形式参数。...
2024-01-10
如何在Java中查找数组中的第二大数字?
我只是在练习一些MITJava作业。但是,我不确定如何找到第二大数字。http://ocw.csail.mit.edu/f/13 public class Marathon { public static void main(String[] arguments) { String[] names = { "Elena", "Thomas", "Hamilton", "Suzie", "Phil", "Matt", "Alex", "Emma", "Joh...
2024-01-10
Java:从字节数组中删除连续的零
例如,假设我要从数组中删除所有长度大于3个字节的0连续段byte a[] = {1,2,3,0,1,2,3,0,0,0,0,4};byte r[] = magic(a);System.out.println(r);结果{1,2,3,0,1,2,3,4}我想在Java中执行类似正则表达式的操作,但是在字节数组而不是字符串上。是否有一些可以帮助我内置的东西(或者有一个好的第三方工具),还是我需要从...
2024-01-10
