Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/399.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/elixir/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 字符串数组包含重复值,请删除并打印该数组_Java_Arrays_String - Fatal编程技术网

Java 字符串数组包含重复值,请删除并打印该数组

Java 字符串数组包含重复值,请删除并打印该数组,java,arrays,string,Java,Arrays,String,很抱歉再次问这个问题,我在论坛上发现了很多。但是作为java新手,我例外的是解释代码,我用我的方式尝试了,但不起作用。我在没有任何默认方法的情况下尝试了,代码必须适用于这个程序 代码: 但我不认为输出是字符串数组是===>{“amma”,“senthil”,“kumar”} 有人能在这方面提供指导吗???请将if(arr[i]==arr[j])改为if(arr[i].equals(arr[j]) 在比较字符串对象时,应使用equals()方法,而不是“==”这是不正确的,因为这是在进行内存比较:

很抱歉再次问这个问题,我在论坛上发现了很多。但是作为java新手,我例外的是解释代码,我用我的方式尝试了,但不起作用。我在没有任何默认方法的情况下尝试了,代码必须适用于这个程序

代码:

但我不认为输出是
字符串数组是===>{“amma”,“senthil”,“kumar”}

有人能在这方面提供指导吗???

请将
if(arr[i]==arr[j])
改为
if(arr[i].equals(arr[j])


在比较字符串对象时,应使用
equals()
方法,而不是
“==”

这是不正确的,因为这是在进行内存比较:

                 if(arr[i]==arr[j])
                 {
                   temp=arr[i];
                   arr[i]=arr[j];
                   arr[j]=temp;
                 }
将其更改为此代码以进行值比较:

                 if(arr[i].equals(arr[j]))
                 {
                   temp=arr[i];
                   arr[i]=arr[j];
                   arr[j]=temp;

                 }

if(arr[i]==arr[j])替换为if(arr[i].equals(arr[j]),因为==匹配对象的hashcode,而equals()方法在字符串中被重写,它逐字符匹配字符串字符,所以使用equals()方法而不是==运算符

for(string string string:arr){System.out.println(“string array are=>”+string);}
如果使用IDE,试着调试这段代码,看看当它执行上述代码时会发生什么。仅供参考,如果你想专门处理没有重复项的项,你可以看看java
Set
class。@vikingsteve我的目标是在不使用默认方法(如equals、contain、Set、,树集…等等…如何避免和克服我的解决方案不,我正在尝试没有IDE中可用的默认方法。因此,如果没有Equals,我如何比较Java中的值将其转换为
char[]
并比较每个字符?奇怪的设计选择,不使用
.equals()
我的目标是不使用默认方法(如equals、contain…如何避免和超越我的解决方案)而实现我的目标您可以使用string getChars()方法,而不是将每个字符与另一个字符串字符匹配
                 if(arr[i]==arr[j])
                 {
                   temp=arr[i];
                   arr[i]=arr[j];
                   arr[j]=temp;
                 }
                 if(arr[i].equals(arr[j]))
                 {
                   temp=arr[i];
                   arr[i]=arr[j];
                   arr[j]=temp;

                 }