日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

关于字符串 --java

發布時間:2023/12/13 编程问答 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 关于字符串 --java 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

這是在杭電上做一道水題時發現的,挺不錯,寫下了分享一下

http://acm.hdu.edu.cn/showproblem.php?pid=2072

這里我用了兩種方法,參考大佬的,一個是list實現類,一個是用set框架

import java.util.*;public class Main {public static void main(String args[]) {Scanner sc=new Scanner(System.in);while(sc.hasNext()){int ans=0;boolean bre = false;String s=sc.nextLine();String b[]=s.split(" ");for(int i=0;i<b.length;i++)if(b[i].contains("#"))bre=true;if(bre)break;List list=new ArrayList();for(int i=0;i<b.length;i++){if(!list.contains(b[i]))list.add(b[i]);}if(list.contains("")){System.out.println(list.size()-1);}else System.out.println(list.size());}} }

List list=new ArrayList();List是一個接口 

 這種方法比較常規,將字符串用“ ”分割,將每部分放在一個數組里邊,然后通過判斷是否重復,保存在List里邊,最后通過判斷list里邊大小來輸出結果,這里要注意的是字符串開頭可能是“ ”,List無法識別,會記錄大小的,所以要注意list.size()-1;

第二種方法:

_集合框架(HashSet存儲字符串并遍歷)

我們使用Set集合都是需要去掉重復元素的, 如果在存儲的時候逐個equals()比較, 效率較低,哈希算法提高了去重復的效率, 降低了使用equals()方法的次數,當HashSet調用add()方法存儲對象的時候, 先調用對象的hashCode()方法得到一個哈希值, 然后在集合中查找是否有哈希值相同的對象 ,如果沒有哈希值相同的對象就直接存入集合,如果有哈希值相同的對象, 就和哈希值相同的對象逐個進行equals()比較,比較結果為false就存入, true則不存。就這題而言,就是重復的不存

代碼如下:

import java.util.*;public class Main {public static void main(String args[]) {Scanner sc=new Scanner(System.in);while(sc.hasNext()){HashSet<String> hs=new HashSet<String>();String s=sc.nextLine();if(s.equals("#"))break;String b[]=s.split(" +");for(int i=0;i<b.length;i++)hs.add(b[i]);if(hs.isEmpty()){System.out.println("0");continue;}int c=0;if(s.charAt(0)==' ')System.out.println(hs.size()-1);elseSystem.out.println(hs.size());hs.clear();}} }

  

轉載于:https://www.cnblogs.com/ls-pankong/p/9819961.html

總結

以上是生活随笔為你收集整理的关于字符串 --java的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。