㈠ java 子查詢如何過濾重復記錄
讓集合里加的時候 你可以用Set集合
Set set=new HashSet();
這個集合不添加相同元素 也就是說 集合里沒有相同元素
㈡ java檢查每行重復的單詞
import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;
import java.util.HashMap;
import java.util.Iterator;
public class Test {
public static void main(String[] args) throws IOException {
file = "src.txt";
BufferedReader br = new BufferedReader(new FileReader(file));
String content = null;
final Integer one = new Integer(1);
int lineNumber = 1;
while((content = br.readLine()) != null){
String[] ary = content.trim().split("\\s+");
HashMap<String, Integer> map = new HashMap<String, Integer>();
for(int i = 0; i < ary.length; i++){
if(map.containsKey(ary[i])){
map.put(ary[i], new Integer(map.get(ary[i]).intValue() + 1));
}else{
map.put(ary[i], one);
}
}
for (Iterator iter = map.keySet().iterator(); iter.hasNext();) {
String word = (String) iter.next();
int count = map.get(word).intValue();
if(count > 1){
StringBuilder sb = new StringBuilder("The line ");
sb.append(lineNumber).append(": ");
for(int i = 1; i <= count; i++){
sb.append(word).append(" ");
}
System.out.println(sb.toString());
}
}
lineNumber++;
}
}
}
-----------------------測試
源文件
I am am a student
This This is a good place place
--------測試結果
e line 1: am am
The line 2: This This
The line 2: place place
㈢ Java如何在正則表達式中匹配重復單詞
示例顯示了如何使用regex.Matcher類的p.matcher()方法和m.group()方法在正則表達式中搜索重復的單詞。
import java.util.Scanner;
import java.io.*;
import java.util.regex.*;
import java.util.ArrayList;
public class SearchingDuplicateWords {
public static void main(String[] args) {
ArrayList<String> manyLines = new ArrayList<String>();
ArrayList<String> noRepeat = new ArrayList<String>();
try {
String s1 = "Hello hello Hello there there past pastures ";
Scanner myfis = new Scanner(s1);
while (myfis.hasNext()) {
String line = myfis.nextLine();
String delim = System.getProperty("line.separator");
String[] lines = line.split(delim);
for (String s : lines) {
if (!s.isEmpty() && s != null) {
manyLines.add(s);
}
}
}
if (!manyLines.isEmpty()) {
System.out.print("Original text is:\n");
for (String s : manyLines) {
System.out.println(s);
}
}
if (!manyLines.isEmpty()) {
for (String s : manyLines) {
String result = s.replaceAll("(?i)\\b([a-z]+)\\b(?:\\s+\\1\\b)+", "$1");
noRepeat.add(result);
}
}
if (!noRepeat.isEmpty()) {
System.out.print("After Remove plicates:\n");
for (String s : noRepeat) {
System.out.println(s);
}
}
} catch (Exception ex) {
System.out.println(ex);
}
}
}
㈣ java中去除集合重復元素問題
去掉集合的重復元素,我們一般是這么做的:建立一個新的集合,把沒有出現過的元素添加進去。你這種方法我以前也用過,同樣沒成功。不過Map是可以這么做的。
package list;
import java.util.*;
public class Remove_form_list {
public static void method4() {
List list = new ArrayList();
list.add("123");
list.add("456");
list.add("258");
list.add("789");
list.add("147");
list.add("258");
list.add("123");
list.add("123");
List temp = new ArrayList();
Iterator it = list.listIterator();
while(it.hasNext()){
Object o = it.next();
if(!temp.contains(o)){ //如果temp還沒有這個元素,就添加
temp.add(o);
}
}
list = temp;
System.out.println(list.toString());
}
public static void main(String[] args) {
method4();
}
}
結果:
[123, 456, 258, 789, 147]
㈤ java string中如何去除重復字元,只用loop、if、if-else一類基礎代碼~~緊急緊急,多謝高手!!
public static void main(String[] args)
{
String outstr = "";
char[] ch = null;
String str = "banner";
ch = str.toCharArray();
for(int i=0;i<ch.length;i++){
if(i+1!=ch.length){
if(ch[i] != ch[i+1]){
outstr = outstr + ch[i];
}
}else{
outstr = outstr + ch[i];
}
}
System.out.println(outstr);
}
㈥ 用java取出一段英文字元中的單詞並將重復的寫入一個set對象中不重復的希爾另一個set對象中
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
import java.util.Scanner;
public class Scann {
public static void main(String[] args) {
sc = new Scanner(System.in);
Map a = new HashMap();
Map b = new HashMap();
String receive_word = "";
System.out.println("終止輸入命令:exit");
int i = 1;
while (sc.hasNext()) {
receive_word = sc.next();
if("exit".equals(receive_word)){
break;
}else{
if(b.containsValue(receive_word)){
b.put(i,receive_word);
}else if(a.containsKey(receive_word)){
int j = (Integer) a.get(receive_word);
a.remove(receive_word);
b.put(j,receive_word);
b.put(i,receive_word);
}else{
a.put(receive_word, i);
}
i++;
}
}
Iterator it = a.keySet().iterator();
System.out.println("沒有重復的列表");
while(it.hasNext()){
String key = (String)it.next();
System.out.println("單詞:"+key);
int k = (Integer)a.get(key);
System.out.println("這是您輸入的第"+k+"個單詞");
}
it = b.keySet().iterator();
System.out.println("有重復的列表");
while(it.hasNext()){
int key = (Integer)it.next();
System.out.println("這是您輸入的第"+key+"個單詞");
String word = (String)b.get(key);
System.out.println("單詞:"+word);
}
}
}
㈦ JAVA如何去除數組中每個元素中重復的內容
java數組中去掉重復數據可以使用set集合,set本身內部是不保存重復的數據的,如下代碼:
運行結果如下:
㈧ java如何輸出的一行輸入的英文句子中的單詞數(要減掉重復的單詞)
String str="if you do not work hard you will be a loser in the future";
ArrayList<String> list=new ArrayList<String>();
String[] arr=str.split("\\s+");
for(int i=0;i<arr.length;i++){
if(!list.contains(arr[i])){
list.add(arr[i]);
}
}
System.out.println(list.size());
㈨ java 輸入一串單詞 輸出其中重復的單詞
實現思路:就是單詞之間通過空格分隔的,所以只需要通過split方法,進行截取,之後循環判斷每個單詞出現的次數,大於1的輸出即可。
import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;
public class TestScanner
{
public static void main ( String[] args )
{
List<String> list = new ArrayList<String> ();
Scanner scanner = new Scanner (System.in);
String next = null;
System.out.println ("輸入多個單詞,空格分開: ");
while (scanner.hasNextLine ())
{
next = " " + scanner.nextLine () + " ";
String[] array = next.split ("\\s+");
for ( String string : array )
{
String str = " " + string + " ";
if (!"".equals (string) && next.indexOf (str) != next.lastIndexOf (str))
{
list.add (string);
}
}
if (list.size () > 0)
{
System.out.println ("重復的單詞是:" + list.toString ().replaceAll ("\\[|\\]", "").replaceAll (",\\s+", " "));
}
else
{
System.out.println ("沒有重復的");
}
}
}
}
㈩ java如何去除字元串中重復的字元
lz 你好
這個就是一個比較簡單的演算法題 , 你可以自己寫
但是用Java語言就不需要了 , Java自帶泛型相關的類 , 很有用
其中TreeSet集合能自動識別添加的是否重復 , 重復的將不會添加 , 很方便
以下是實現代碼:
import java.util.List;
import java.util.Scanner;
public class DeleteRepeated {
private String str;
private TreeSet<String> noReapted;//帶有String類型的TreeSet泛型
public DeleteRepeated() {
Scanner in = new Scanner(System.in);
System.out.println ("輸入一個字元串:");
str = in.nextLine();
noReapted = new TreeSet();
}
//清楚重復的數據
public void removeRepeated(){
for (int i = 0; i < str.length(); i++){
noReapted.add(""+str.charAt(i));
//str.charAt(i)返回的是char型 所以先加一個""空格 , 轉換成String型
//TreeSet泛型能保證重復的不加入 , 而且有序
}
str = "";
for(String index:noReapted){
str += index;
}
//輸出
System.out.println (str);
}
public static void main(String[] args) {
DeleteRepeated dr = new DeleteRepeated();
dr.removeRepeated();
}
}