「java数组过滤」java数据过滤
今天给各位分享java数组过滤的知识,其中也会对java数据过滤进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!
本文目录一览:
- 1、初级java里数组合并或筛选
- 2、java 字符串数组如何去掉相同元素
- 3、java解决一个字符串数组过滤的问题,要求效率尽量快.
- 4、如何用java过滤掉该数组中的重复值求帮助!String arr[];arr={a,b,a,a,b,c,c,d}
- 5、JAVA如何去除数组中每个元素中重复的内容
初级java里数组合并或筛选
如果不借助API。那么需要循环两次。第一次确定基数的个数,然后创建新数组
第二次为新数组赋值
import java.util.Arrays;
public class $ {
public static void main(String[] args) {
int[] arr = { 1, 2, 3, 4, 5, 6 };
int count = 0;
for (int i = 0; i arr.length; i++) {
if (i % 2 != 0) {
count++;
}
}
int[] brr = new int[count];
int idx = 0;
for (int i = 0; i arr.length; i++) {
if (i % 2 != 0) {
brr[idx++] = i;
}
}
System.out.println(Arrays.toString(brr));
}
}
java 字符串数组如何去掉相同元素
ArrayList a = new ArrayList(数组);
for(int i = 0 ;ia.size();i++){
Object obj = a[i];
if(a.contains(obj)){
a.remove(i);
}
}
java解决一个字符串数组过滤的问题,要求效率尽量快.
中文分词应该属于另外一个大范畴,我就没考虑了。
仅仅是尽快滤出之前没有的词,
import java.util.Comparator;
import java.util.TreeSet;
public class Test {
static public int removeOccurances(StringBuilder buf,String word){
int c=0,p,len=word.length();
for(;(p=buf.indexOf(word))!=-1; c++)
buf.delete(p, p+len);
return c;
}
static public void main(String argv[]){
String a[]={"北京","中国朝阳","北京朝阳","天津包子","中国北京",
"北京烤鸭","中国中国","北京中国饭店","北京北京北京",
"北京朝阳饭店","北京朝阳烤鸭饭店","中国北京朝阳饭店"
};
TreeSetString set=new TreeSetString(new ComparatorString(){
@Override
public int compare(String o1, String o2) {
int r=o1.length()-o2.length();
return r==0? o1.compareTo(o2):r;
}
});
StringBuilder buf=new StringBuilder();
for(String w:a){
buf.setLength(0); buf.append(w);
for(String dw:set) removeOccurances(buf, dw);
if(buf.length()0){
w=buf.toString();
for(String dw:set)
if(buf.length()dw.length()){
buf.setLength(0); buf.append(dw);
if(removeOccurances(buf, w)0){
set.remove(dw); set.add(buf.toString());
}
}
set.add(w);
}
}
System.out.print(set);
}
}
===========
[中国, 北京, 朝阳, 烤鸭, 饭店, 天津包子]
效率应该是O(2W*D), W为数组长度,D为有效词数量
把你的算法拿来看看。应该多说自己
如何用java过滤掉该数组中的重复值求帮助!String arr[];arr={a,b,a,a,b,c,c,d}
public static void main(String[] args)
{
String arr[] = {"a", "b", "a", "a", "b",
"c", "c", "d"};
//直接使用Set的不允许内容重复的特性,自动去掉重复的
SetString filterSet = new HashSetString();
for (String str : arr)
{
filterSet.add(str);
}
System.out.println(filterSet);
}
JAVA如何去除数组中每个元素中重复的内容
java数组中去掉重复数据可以使用set集合,set本身内部是不保存重复的数据的,如下代码:
import java.util.Arrays;import java.util.Set;import java.util.TreeSet; public class ceshi { public static void main(String[] args) { int[] testArr = { 5, 5, 1, 2, 3, 6, -7, 8, 6, 45, 5 };//新建一个int类型数组 System.out.println(Arrays.toString(testArr)); SetInteger set = new TreeSetInteger();//新建一个set集合 for (int i : testArr) { set.add(i); } Integer[] arr2 = set.toArray(new Integer[0]); // 数组的包装类型不能转 只能自己转;吧Integer转为为int数组; int[] result = new int[arr2.length]; for (int i = 0; i result.length; i++) { result[i] = arr2[i]; } System.out.println(Arrays.toString(arr2)); }}
运行结果如下:
java数组过滤的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于java数据过滤、java数组过滤的信息别忘了在本站进行查找喔。