我有一个java类,它涉及一个String数组和两个for循环
通过数组元素并打印它们加上它们的冗余
数组,因为它们是字符串.
我希望有人帮我打印每个元素(字符串)一次,即使它
在阵列中重复.
以下代码多次在数组中打印一些元素.
所以需要比较数组元素之间的比较
public class myClassName {
static String [] myArray = {"Khaled","Valderama","Daoud","Khaled","Rasheed","Daoud","Valderama","Khaled"};
public static String [] getArray()
{
String str[] = new String[myArray.length];
for(int i=0;i
{
str[i] = myArray[i].toString();
}
return str;
}
public static void main( String [] args)
{
String d [] = getArray();
int noOftimesRepeated;
for(int i=0;i
{
noOftimesRepeated=1;
String currentName = d[i];
for(int j=0;j
{
if(i!=j && d[i].equalsIgnoreCase(d[j]))
{
noOftimesRepeated = noOftimesRepeated+1;
}
}
int j =0;
System.out.println(d[i]+"\t" +"\t"+noOftimesRepeated);
}
}
}
请问有没有使用.util.*包的解决方案
我有第二次试用,但它打印出一个元素和它的冗余
只要.
public class Javafool {
static String [] myArray = {"Khaled","Valderama","Daoud","Khaled","Rasheed","Daoud","Valderama","Khalo","Valderama"};
static String str2[] = new String[myArray.length];
public static String [] getArray()
{
String str[] = new String[myArray.length];
for(int i=0;i
{
str[i] = myArray[i].toString();
}
return str;
}
public static void main(String[] args) {
String d [] = getArray();
int noOftimesRepeated;
sort(myArray);
int no_of_repeat=1;
String temp =null;
int i ;
for( i = 0;i
{
temp = myArray[i];
myArray[i] = myArray[i+1];
myArray[i+1] = temp;
if(myArray[i].equals(temp))
{
no_of_repeat= ++no_of_repeat;
}
}
System.out.println(myArray[i]+""+temp+"\t"+"\t\t"+no_of_repeat);
}
public static void sort(String [] array) {
String temp = null;
for(int j=0;j
{
for(int i = 0; i
{
if(array[i].compareTo(array[i+1])<0)
{
temp = array[i];
array[i] = array[i+1];
array[i+1] = temp;
}
}}}}
解决方法:
添加要设置的字符串< String>,这将消除重复值,然后打印它们:
List list = Arrays.asList("Khaled", "Valderama",...);
Set set = new LinkedHashSet(list);
for(String s : set)
System.out.println(s);
标签:java,arrays,for-loop
来源: https://codeday.me/bug/20190529/1176835.html