㈠ java如何实现冗余数据的排重比如,现在有大数量的请求字符串,我要过滤掉重复的数据,如何实现
把字符串和字符串出现的次数放到一个map当中,统计出现的次数,大于一次的就是有重复,根据重复次数把它们从map中移除
㈡ 字符串数组的排重问题
import java.util.HashSet;
import java.util.Iterator;
import java.util.Set;
public class Test89 {
public static void main(String[] args) {
String[] single = { "a", "b", "a", "c", "d", "b", "e" };
Set set = new HashSet();
for (int i = 0; i < single.length; i++) {
set.add(single[i]);//将所有元素放入set,因为set里面元素不重复,会自动替换重复的
}
int k = set.size();//取set的里面元素个数,以便定义新数组的长度
int j=0;
String[] single2 = new String[k];//用set的元素个数定义数组长度
for (Iterator iterator = set.iterator(); iterator.hasNext();) {
single2[j] = iterator.next().toString();//遍历set,放入新数组
j++;//新数组的计数器
}
for (int i = 0; i < single2.length; i++) {
System.out.print(single2[i]+" ");//遍历新数组,打印其中所有元素
}
}
}
㈢ java怎么吧获取到excel的数据进行排重 ,重复的删除,可以用什么方式
读取每一行数据,封装成Javabean并且覆盖tostring方法,然后放到set中去。覆盖tostring是为了判断啥时候算是相等的,这样set中的数据就是不重复的数据
㈣ java 编程实现接收键盘输入任意多个整数,并以逗号分开,然后选择数组排重或随机打乱。返回排序输
//回答完毕,采纳即可
importjava.io.FileWriter;
importjava.io.IOException;
importjava.util.Arrays;
importjava.util.Comparator;
importjava.util.Scanner;
publicclassDrinks
{
publicstaticfinalintREMOVE=1;
publicstaticfinalintRANDOM=2;
publicstaticfinalStringFILE="asd.txt";
publicstaticfinalStringLINE=System.getProperty("line.separator");
privatestaticString[]remove(String[]array)
{
String[]result=newString[0];
Stringtmp=",";
for(inti=0;i<array.length;i++)
{
Stringone=array[i];
if(tmp.indexOf(","+one+",")==-1)
{
String[]cloned=newString[result.length+1];
System.array(result,0,cloned,0,result.length);
cloned[cloned.length-1]=one;
result=cloned;
tmp+=one+",";
}
}
returnresult;
}
privatestaticvoidrandom(String[]array)
{
Arrays.sort(array,newComparator<String>()
{
@Override
publicintcompare(Stringo1,Stringo2)
{
doublerand=Math.random();
if(rand<0.5)
{
return1;
}
return-1;
}
});
}
privatestaticintwriteFile(Stringdata,Stringfile,booleanisAppend)
{
intcode=1;
try
{
FileWriterfw=newFileWriter(file,isAppend);
fw.write(data);
fw.flush();
fw.close();
}
catch(IOExceptione)
{
code=-1;
}
returncode;
}
publicstaticvoidmain(String[]args)
{
Scannerscanner=newScanner(System.in);
intstep=1;
Stringline="";
Stringchoosed;
loop:while(true)
{
if(step==1)
{
System.out.print("输入任意多个整数,并以逗号分开:");
line=scanner.nextLine().trim();
if(!line.matches("^\d+([,,]\d+)+$"))
{
continue;
}
step=2;
}
elseif(step==2)
{
System.out.print("请选择:1.数组排重2.随机打乱:");
choosed=scanner.nextLine().trim();
if(!choosed.matches("^[12]$"))
{
System.out.println("输入错误!");
continue;
}
else
{
System.out.print("你的选择是:"+choosed);
String[]array=line.split("[,,]");
Stringdata;
intcode;
Stringregex="[\[\]]";
switch(Integer.parseInt(choosed))
{
caseREMOVE:
String[]result=remove(array);
data=Arrays.toString(result).replaceAll(regex,"")+LINE;
System.out.println("操作结果:"+data);
code=writeFile(data,FILE,true);
if(code==1)
{
System.out.println("成功写入文件");
}
else
{
System.out.println("失败写入文件");
}
break;
caseRANDOM:
random(array);
data=Arrays.toString(array).replaceAll(regex,"")+LINE;
System.out.println("操作结果:"+data);
code=writeFile(data,FILE,true);
if(code==1)
{
System.out.println("成功写入文件");
}
else
{
System.out.println("失败写入文件");
}
break;
default:
break;
}
while(true)
{
System.out.println("是否继续?继续按3,退出按4");
line=scanner.nextLine().trim();
if("3".equals(line))
{
step=1;
continueloop;
}
elseif("4".equals(line))
{
scanner.close();
breakloop;
}
else
{
continue;
}
}
}
}
}
}
}
㈤ java这个程序怎样排重
下面那段就是去重复的代码,有不懂的地方可以问我
public static void main(String[] args) {
int[] pai = new int[54];
int count = 0;
int i = 0;
while (count < 17) {
int[] pai1 = new int[17];
pai1[i] = (int) (Math.random() * 54) + 1;
pai[count] = pai1[i];
pai1[i] = 0;
System.out.print(pai[count] + " ");
i++;
count++;
}
/****************去重代码*******************/
Map map=new HashMap();
List list=new ArrayList();
for (int j = 0; j < pai.length; j++) {
if(map.get(pai[i]) !=null){
map.put(pai[i], pai[i]);
list.add(pai[i]);
}
}
for (int j = 0; j < list.size(); j++) {
System.out.println(list.get(j));
}
/****************去重代码*******************/
}
㈥ java调用mysql增加新数据后如何自动重新排列顺序
如果mysql层面插入无法做到自动重新排列,你可以考虑每次查找,获取数据的时候,可以进行按照规则排序
㈦ java 排重算法
首先原始数据肯定要全部插入数据库,有一条日志插一条,以备以后别的需求.
然后通过sql来解决排重的问题.或者建按时,天,周,月,年建视图
㈧ java 输入一个字符串遇到数字就截掉并且排重
意思是不是把ascad12asd变成ascadasd?
static public void main(String[] args) {
String a = "ascad12asd我";
StringBuffer bf = new StringBuffer(a);
for (int i = 0; i < bf.length(); i++) {
if (bf.charAt(i) >= '0' & bf.charAt(i) <= '9')//取出每个位置上的相应的char比较。如果是在1-9之间就把它移除。
{
bf.delete(i, i+1);//移除当前位置上的数字
//bf.deleteCharAt(i);意思和上面一样
i--;//移除了整体后面都会向前挪动一个 所以要i要减回去在判断当前位置是否为数字
}
}
System.out.println( bf);
}
你去试下。也不知道你是这意思么?
㈨ java指令重排序,happens-before的问题
不会的。
java代码肯定是执行t.i = 1这个后,
再执行new Thread(t).start();这个
所以不会出现你说的情况