import java.util.*; public class FilterSameElement { public FilterSameElement() { } public static void main(String [] args){ String[] array = new String[]{"1","2","1"}; HashSet hash = new HashSet(); for(int i = 0; i < array.length; i ++){ hash.add(array[i]); } Iterator iterator = hash.iterator(); while(iterator.hasNext()){ System.out.println(iterator.next()); } }}
var strAry = new Array(); var str = <%= "a,b,c,d,e"%>; int i = 0; while (str.indexOf(",") != -1) { var temp = str.substring(0, str.indexOf(",")); var sameFlag = false; for (var j = 0; j < strAry.length; j++) { if strAry[j] == temp; sameFlag = true; } if (sameFlag == true) { continue; } strAry[i] = temp; i++; str = str.substring(str.indexOf(",")); }最后在strAry里面放的就是你所需要的唯一的数组了。
上面有句话写错了.......... if (strAry[j] == temp){ sameFlag = true; }
用 sharku(澹泊名志) 所说的HashSet最好,他相当于C语言的枚举,运行速度最快
zai javascript当中不能够用呀。。
function removeDuplicate() { var old_str = "a,b,c,a,d,e,c"; var arr1 = old_str.split(",");
var arr2 = arr1.sort(); var temp_str = arr2.join(",");
var new_str = temp_str.replace(/\b([a-z]+),\1\b/gi, "$1") alert(new_str); }
package com.borland.samples.welcome; import java.io.File; import java.io.IOException; import java.io.OutputStream; import java.util.*;import org.jdom.Document; import org.jdom.Element; import org.jdom.JDOMException; import org.jdom.input.SAXBuilder; import org.jdom.output.XMLOutputter;/** * <p>Title: </p> * <p>Description: </p> * <p>Copyright: Copyright (c) 2003</p> * <p>Company: </p> * @author not attributable * @version 1.0 */public class TestXml { public TestXml() { } public static void main(String[] args) { // String [] getout = new String[]{"a","b","c"}; //String[] addstr =new String[]{"a","b","e"}; //String test=""; // String tests=""; String[] ch = new String[]{"a","b","b","c","a","d","f","c"}; String [] getout = new String[20]; int getoutlen = 0; for ( int s = 0 ; s < ch.length; s++) { boolean found = false ; for ( int i = 0 ; i< getoutlen ;i++ ) if( getout[i] == ch[s] ){ found = true; break; } if (found == false) getout[getoutlen++] = ch[s] ; // getoutlen ++ ; } for(int j=0;j<getout.length;j++){ System.out.println("getout" + getout[j]); }} // System.out.println("test"+test); }
new String[20];万一要考的元素个数超过20,怎么办?哪怕开100,1000也有可能会ArrayIndexOutOfBoundsException 当然是开一个和原来大小一样的新的数组来方东西了,
to liad() 兄弟如果字符串是String aa = "2,3,2,4,5,6"; 如此形式地,你的函数就不能够用了,要作如何修改呢,麻烦你指点指点,我一定给分
to liad() 给我地只是支持字母地字符串。 如下个是地就不可以了 string aa = "2,3,测试1,测试2,c,d,A2,Aa,a测试,A测试" 如此格式正册表达式如何写呢
呵呵,各位老兄别跑正题,现在讨论是在javascript的东西撒
那这样吧 var old_str = "我,你,他,她,她,也,我,你"; var arr1 = old_str.split(","); var d = new ActiveXObject("Scripting.Dictionary"); d.RemoveAll(); d.CompareMode = 1;
for (var i = 0; i < arr1.length; i++) { var key = arr1[i]; if (!d.Exists(key)) d.Add(key, key); } var arr2 = (new VBArray(d.Keys())).toArray(); var new_str = arr2.join(","); alert(new_str);
var strAry = new Array(); // 改修 var str = "<%= "a,b,c,d,e"%>"; // 改修 var i = 0; while (str.indexOf(",") != -1) { var temp = str.substring(0, str.indexOf(",")); var sameFlag = false; for (var j = 0; j < strAry.length; j++) { if strAry[j] == temp; sameFlag = true; } if (sameFlag == true) { continue; } strAry[i] = temp; i++; str = str.substring(str.indexOf(",")); }最后在strAry里面放的就是你所需要的唯一的数组了。
public class FilterSameElement {
public FilterSameElement() {
} public static void main(String [] args){ String[] array = new String[]{"1","2","1"};
HashSet hash = new HashSet();
for(int i = 0; i < array.length; i ++){
hash.add(array[i]);
} Iterator iterator = hash.iterator();
while(iterator.hasNext()){
System.out.println(iterator.next());
} }}
for (int i = 0; i < yourOriginal.length; i++) {
boolean contained = false;
for (int j = 0; j < dataIndex; j++){
if (yourOriginal[i].equals(newData[j])) {
contained = true;
break;
}
}
if (!contained) newData[dataIndex++]=yourOriginal[i];
}Object[] trimData = new Object[dataIndex];
System.arraycopy(newData,0,trimData,0,dataIndex);
String test = "a,b,c,a,d,e,c";
要去掉其中相同的元素包次唯一性。
如何做,要在javascript当中做到
var str = <%= "a,b,c,d,e"%>;
int i = 0;
while (str.indexOf(",") != -1) { var temp = str.substring(0, str.indexOf(","));
var sameFlag = false;
for (var j = 0; j < strAry.length; j++) {
if strAry[j] == temp;
sameFlag = true;
}
if (sameFlag == true) {
continue;
} strAry[i] = temp;
i++;
str = str.substring(str.indexOf(","));
}最后在strAry里面放的就是你所需要的唯一的数组了。
if (strAry[j] == temp){
sameFlag = true;
}
{
var old_str = "a,b,c,a,d,e,c";
var arr1 = old_str.split(",");
var arr2 = arr1.sort();
var temp_str = arr2.join(",");
var new_str = temp_str.replace(/\b([a-z]+),\1\b/gi, "$1")
alert(new_str);
}
import java.io.File;
import java.io.IOException;
import java.io.OutputStream;
import java.util.*;import org.jdom.Document;
import org.jdom.Element;
import org.jdom.JDOMException;
import org.jdom.input.SAXBuilder;
import org.jdom.output.XMLOutputter;/**
* <p>Title: </p>
* <p>Description: </p>
* <p>Copyright: Copyright (c) 2003</p>
* <p>Company: </p>
* @author not attributable
* @version 1.0
*/public class TestXml {
public TestXml() {
}
public static void main(String[] args) {
// String [] getout = new String[]{"a","b","c"};
//String[] addstr =new String[]{"a","b","e"};
//String test="";
// String tests="";
String[] ch = new String[]{"a","b","b","c","a","d","f","c"};
String [] getout = new String[20];
int getoutlen = 0;
for ( int s = 0 ; s < ch.length; s++)
{
boolean found = false ;
for ( int i = 0 ; i< getoutlen ;i++ )
if( getout[i] == ch[s] ){
found = true;
break;
}
if (found == false)
getout[getoutlen++] = ch[s] ;
// getoutlen ++ ;
}
for(int j=0;j<getout.length;j++){
System.out.println("getout" + getout[j]);
}}
// System.out.println("test"+test);
}
当然是开一个和原来大小一样的新的数组来方东西了,
兄弟如果字符串是String aa = "2,3,2,4,5,6";
如此形式地,你的函数就不能够用了,要作如何修改呢,麻烦你指点指点,我一定给分
给我地只是支持字母地字符串。
如下个是地就不可以了
string aa = "2,3,测试1,测试2,c,d,A2,Aa,a测试,A测试"
如此格式正册表达式如何写呢
var old_str = "我,你,他,她,她,也,我,你";
var arr1 = old_str.split(","); var d = new ActiveXObject("Scripting.Dictionary");
d.RemoveAll();
d.CompareMode = 1;
for (var i = 0; i < arr1.length; i++)
{
var key = arr1[i];
if (!d.Exists(key))
d.Add(key, key);
}
var arr2 = (new VBArray(d.Keys())).toArray();
var new_str = arr2.join(",");
alert(new_str);
// 改修
var str = "<%= "a,b,c,d,e"%>";
// 改修
var i = 0;
while (str.indexOf(",") != -1) { var temp = str.substring(0, str.indexOf(","));
var sameFlag = false;
for (var j = 0; j < strAry.length; j++) {
if strAry[j] == temp;
sameFlag = true;
}
if (sameFlag == true) {
continue;
} strAry[i] = temp;
i++;
str = str.substring(str.indexOf(","));
}最后在strAry里面放的就是你所需要的唯一的数组了。