學習Java的Day06

来源:https://www.cnblogs.com/ZhuX-H/archive/2020/06/30/13215964.html
-Advertisement-
Play Games

常用類 string類: 常量都是存在jvm,方法區的常量池當中 String str1 = "123"; String str2 = "123"; System.out.println(str1.equals(str2));//true System.out.println(str1 == str ...


 

常用類

string類:

  常量都是存在jvm,方法區的常量池當中
String str1 = "123";
String str2 = "123";
System.out.println(str1.equals(str2));//true System.out.println(str1 == str2));//true
String str3 = new String("123");
String str4 = new String("123");
System.out.println(str3.equals(str4));//true System.out.println(str3 == str4));//false

string類的構造方法

String s6 = new String(“abc”); //創建String對象,字元串內容為abc

byte[] bys = new byte[]{97,98,99,100};// 創建String對象,把數組元素作為字元串的內容

String s2 = new String(bys);//創建String對象,把一部分數組元素作為字元串的內容,參數offset為數組元素的起始索引位置,參數length為要幾個元素

String s3 = new String(bys, 1, 3);

System.out.println(s2);//abcd

System.out.println(s3);//bcd//解決請求亂碼時需要用到,在此先做瞭解

String s4 = new String(s3.getBytes("ISO8859-1"), "UTF-8");

char[] chs = new char[]{'a','b','c','d','e'};

String s5 = new String(chs); //創建String對象,把數組元素作為字元串的內容

String s6 = new String(chs, 0, 3);//創建String對象,把一部分數組元素作為字元串的內容,參數offset為數組元素的起始索引位置,參數count為要幾個元素

System.out.println(s5);//abcd
System.out.println(s6);//abc
獲取字元串的長度
String str = "abcde"; 
int len = str.length(); 
System.out.println(len);//5
截取字元串
String str = "abcde"; 
String s1 = str.substring(1); //返回一個新 字元串,為指定索引後的內容 
String s2 = str.substring(2, 4);//返回一個 新字元串,內容為指定位置開始到指定位置結束所有字 符[2,4) 
System.out.println(s1);//bcde System.out.println(s2);//cd
是否以字元開頭和結尾
String str = "baidu"; 
boolean b2 = str.startsWith("bai"); 
boolean b3 = str.endsWith("du");
索引和包含
String str = "abcde"; //返回指定字元串的索引值,不包含則返回-1 
int index = str.indexOf(“bcd”); //判斷是否包含指定字元串,包含返回true,不包含返 回false
boolean b2 = str.contains("bcd"); 
分割字元串
String s5 = "1-2-3-4-5"; //{"1","2","3","4","5"}
System.out.println(s5.split("-").length); 
String s6 = "www.zhiyou.com"; //{"www","zhiyou","com"} //註意使用.進行分割時候需要使用轉義字元,使用\\. 
System.out.println(s6.split("\\.").lengt h);

 

轉換大小寫字元串
String str = "hElLo";
String big = str.toUpperCase();//HELLO
String small = str.toLowerCase();//hello

 

將字元串指定索引轉換成char
char ch = str.charAt(i);

string類的API

boolean equals(Object obj) 判斷兩個字元串中 的內容是否相同
boolean equalsIgnoreCase(String str) 判 斷兩個字元串中的內容是否相同, 忽略大小寫
boolean contains(String str) 判斷該字元串中 是否包含給定的字元串 
boolean startsWith(String str) 判斷該字元串 是否以給定的字元串開頭
boolean endsWith(String str) 判斷該字元串 是否以給定的字元串結尾 
boolean isEmpty() 判斷該字元串的內容是否為空 的字元串 ""
int length() 獲取該字元串的長度
char charAt(int index) 獲取該字元串中指定位 置上的字元
String substring(int start) 從指定位 置開始,到末尾結束,截取該字元串,返回新字元串 
String substring(int start,int end) 從指定 位置開始,到指定位置結束,截取該字元串,返回新字 符串int indexOf(int ch ) 獲取給定的字元,在該字元 串中第一次出現的位置
int indexOf(String str) 獲取給定的字元串,在 該字元串中第一次出現的位置
int indexOf(int ch,int fromIndex) 從指定位 置開始,獲取給定的字元,在該字元
byte[] getBytes() 把該字元串 轉換成 位元組數組
char[] toCharArray() 把該字元串 轉換成 字元 數組
String replace(char old,char new) 在該字元 串中,將給定的舊字元,用新字元替換
String replace(String old,String new) 在 該字元串中, 將給定的舊字元串,用新字元串替換
String trim() 去除字元串兩端空格,中間的不會去 除,返回一個新字元串
String toLowerCase() 把該字元串轉換成 小寫字 符串
String toUpperCase() 把該字元串轉換成 大寫字 符串
int indexOf(String str,int fromIndex) 從 指定位置開始,獲取給定的字元串,在該字元串中第一 次出現的位置

  

StringBuffer類

  StringBuffer叫做字元串緩衝區,是一個容器,裡面存放了很多字元串

 
添加,插入,刪除,替換
StringBuffer sb = new StringBuffer(); sb.append("haha"); //添加字元串 sb.insert(2, "huhu");//索引為2的地方,插入字 符串 sb.delete(1, 4);//刪除索引為[1,4) sb.replace(1, 4, "heihei");//替換範 圍[1,4)的內容

  

StringBuilder類

此類提供一個與 StringBuffer 相容的 API,但是屬於

線程不安全的,所以效率較高,推薦使用

 

 

List介面

  可以看作是一個容器存儲,只能存儲引用類型,特點是:有序,帶索引,內容可以重覆

ArrayList

  ArrayList是List介面的一個實現類

  是一個容器,容器存放的是引用類型,他能夠實現動態擴容,內部實現是依靠數組實現的,初始化容量是10,當要超出容量的時候,擴容變成原來的1.5倍

創建的格式一般使用多態的形式 List<String> li= new ArrayList<String>();
添加,插入,刪除,替換,查詢
List<String> list = new ArrayList<String>();
//添加 list.add("李雷"); list.add("韓梅梅");
//插入 插入前["李雷","韓梅梅"] list.add(1, "隔壁老王"); //插入元素後的集合["李雷","隔壁老王","韓梅梅"]
//刪除 list.remove(2);// 刪除元素後的集合["李雷","隔壁老王"]
//修改 list.set(1, "隔壁老張");// 修改元素後的集合["李雷","隔壁老張","韓梅梅"]
//通過索引獲取 String str = list.get(0);//獲取李雷

  

遍歷(和數組相同)
for(int i = 0; i < li.size(); i++){
System.out.println(li.get(i));
}
for(String str : li){
System.out.println(str);
}

  

Map介面

Map是集合容器,存放的元素由鍵與值兩部分組成,通過鍵可以找對所對應的值,鍵和值必須是引用類型,鍵唯一不能重覆,沒有順序

HashMap

HashMap是Map的一個實現類map的添加,刪除,查詢//創建Map對象
Map<String, String> map = new HashMa
p<String,String>();//給map中添加元素
map.put("1", "Monday");
map.put("7", "Sunday");
System.out.println(map); //當給Map中添加元素,會返回key對應的原來的value值,若key沒有對應的值,返回null
System.out.println(map.put("1", "Mon")); // Monday
System.out.println(map); // {星期日=Sunday, 星期一=Mon}//根據指定的key獲取對應的value
String en = map.get("1");
System.out.println(en); // Sunday//根據key刪除元素,會返回key對應的value值
String value = map.remove("1");
System.out.println(value); // Sunday
System.out.println(map); // {1=Mon}
map的遍歷

Map<String, String> map = new HashMa p<String,String>();//給map中添加元素 map.put("鄧超", "孫儷"); map.put("李晨", "範冰冰"); map.put("劉德華", "柳岩");//獲取Map中的所有key Set<String> keySet = map.keySet(); for(String key : keySet){ System.out.println(map.get(key)) }

  

 


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 1.隊列是遵循先進先出(FIFO)原則的一組有序的項,隊列在尾部添加元素,並從頂部移除元素,最新添加的元素必須排在隊列的末尾。生活中常見的例子如排隊等。 2.創建一個隊列類 class Queue{ constructor(){ this.count = 0;//記錄隊列的數量 this.lowes ...
  • 一、Socket 1.Socket構造方法 構造方法說明 Socket() 該創建的對象,沒有指定IP地址和埠號,意味著只創建了客戶端對象,並且沒有連接任何伺服器。通過該構造方法創建對象後還需要調用connect(SocketAddress endpoint)方法,才能完成與指定伺服器端的連接,其 ...
  • 現在距離 Python 3.9.0 的最終版本還有 3 個月,官方公佈的時間線是: 3.9.0 beta 4: Monday, 2020-06-29 3.9.0 beta 5: Monday, 2020-07-20 3.9.0 candidate 1: Monday, 2020-08-10 3.9. ...
  • 類載入運行的全過程 當用java命令運行某個main函數時,首先需要類載入器把主類載入到JVM記憶體中。 通過Java命令執行代碼的大致流程為 將編譯好的位元組碼class文件通過java命令,在win操作系統就是一個java.exe文件,這個文件底層是c++語言實現的,通過這個文件調用底層jvm.dl ...
  • mac 使用yarn brew install yarn 安裝全局vue-cli全家桶: yarn global add @vue/cli 驗證: node -v npm -v 打開界面 vue ui 本文由博客一文多發平臺 OpenWrite 發佈! ...
  • 前言 網路上的信息很多,有的時候我們需要關鍵字搜索才可以快速方便的找到我們需要的信息。今天我們實現搜索關鍵字爬取堆糖網上相關的美圖,零基礎學會通用爬蟲,當然我們還可以實現多線程爬蟲,加快爬蟲爬取速度 環境: windows pycharm python3 導入模塊 import urllib.par ...
  • 本文源碼:GitHub·點這裡 || GitEE·點這裡 一、服務間隔離 1、分散式結構 分散式系統架構的明顯特點,就是按照業務系統的功能,拆分成各種服務,每個服務下麵都有自己獨立的資料庫,以此降低業務間的耦合度,隔離不同的資料庫保證系統最大的穩定性等。 例如上圖是電商系統中經典的業務場景,訂單-倉 ...
  • clone 並導入源碼 本地啟動 NameServer 本地啟動 Broker 本地運行生產者與消費者代碼 完成上述步驟之後,RocketMQ的源碼環境就搭建完畢了,之後就可以在本地啟動以及收發消息,調試和分析RocketMQ的源碼了。 clone 並導入源碼 在 github 上選擇對應的的代碼 ...
一周排行
    -Advertisement-
    Play Games
  • Dapr Outbox 是1.12中的功能。 本文只介紹Dapr Outbox 執行流程,Dapr Outbox基本用法請閱讀官方文檔 。本文中appID=order-processor,topic=orders 本文前提知識:熟悉Dapr狀態管理、Dapr發佈訂閱和Outbox 模式。 Outbo ...
  • 引言 在前幾章我們深度講解了單元測試和集成測試的基礎知識,這一章我們來講解一下代碼覆蓋率,代碼覆蓋率是單元測試運行的度量值,覆蓋率通常以百分比表示,用於衡量代碼被測試覆蓋的程度,幫助開發人員評估測試用例的質量和代碼的健壯性。常見的覆蓋率包括語句覆蓋率(Line Coverage)、分支覆蓋率(Bra ...
  • 前言 本文介紹瞭如何使用S7.NET庫實現對西門子PLC DB塊數據的讀寫,記錄了使用電腦模擬,模擬PLC,自至完成測試的詳細流程,並重點介紹了在這個過程中的易錯點,供參考。 用到的軟體: 1.Windows環境下鏈路層網路訪問的行業標準工具(WinPcap_4_1_3.exe)下載鏈接:http ...
  • 從依賴倒置原則(Dependency Inversion Principle, DIP)到控制反轉(Inversion of Control, IoC)再到依賴註入(Dependency Injection, DI)的演進過程,我們可以理解為一種逐步抽象和解耦的設計思想。這種思想在C#等面向對象的編 ...
  • 關於Python中的私有屬性和私有方法 Python對於類的成員沒有嚴格的訪問控制限制,這與其他面相對對象語言有區別。關於私有屬性和私有方法,有如下要點: 1、通常我們約定,兩個下劃線開頭的屬性是私有的(private)。其他為公共的(public); 2、類內部可以訪問私有屬性(方法); 3、類外 ...
  • C++ 訪問說明符 訪問說明符是 C++ 中控制類成員(屬性和方法)可訪問性的關鍵字。它們用於封裝類數據並保護其免受意外修改或濫用。 三種訪問說明符: public:允許從類外部的任何地方訪問成員。 private:僅允許在類內部訪問成員。 protected:允許在類內部及其派生類中訪問成員。 示 ...
  • 寫這個隨筆說一下C++的static_cast和dynamic_cast用在子類與父類的指針轉換時的一些事宜。首先,【static_cast,dynamic_cast】【父類指針,子類指針】,兩兩一組,共有4種組合:用 static_cast 父類轉子類、用 static_cast 子類轉父類、使用 ...
  • /******************************************************************************************************** * * * 設計雙向鏈表的介面 * * * * Copyright (c) 2023-2 ...
  • 相信接觸過spring做開發的小伙伴們一定使用過@ComponentScan註解 @ComponentScan("com.wangm.lifecycle") public class AppConfig { } @ComponentScan指定basePackage,將包下的類按照一定規則註冊成Be ...
  • 操作系統 :CentOS 7.6_x64 opensips版本: 2.4.9 python版本:2.7.5 python作為腳本語言,使用起來很方便,查了下opensips的文檔,支持使用python腳本寫邏輯代碼。今天整理下CentOS7環境下opensips2.4.9的python模塊筆記及使用 ...