1. 程式人生 > >java工具類快速定位

java工具類快速定位

其實 java作為一個完善的類庫,本身就提供了很多權威工具類,因此我們平時寫程式碼時候,如果能夠很好的利用現有的工具,將會使開發的速度得到很大的提高,而程式碼的bug也會更少,畢竟經過實踐反覆測試完善的程式碼,不能否認具有更高的權威性,利用這些功能,對於程式碼的規範,標準化也有顯著的好處。

Arrays陣列工具類

主要功能,如下(都是public static):

方法 描述
sort(T[] a) 過載的陣列排序方法,所以的陣列型別都有支援(如果是引用型別,呼叫此方法必須可自身進行比較,也就是實現Comparable介面)
sort(T[] a, Comparator c) 自己提供比較器的排序方法
int binarySearch(long[] a, long key) 過載(各種型別陣列)的二分查詢,陣列必須是有序的。
boolean equals(Object[] a, Object[] a2) 過載的equals方法,支援除了boolean外的全部基本型別和引用型別,操作都是迴圈比較陣列中的每個元素
fill(int[] a, int val) 一系列(全部資料型別)過載的填充陣列的方法,實現就是迴圈用val填充陣列的每個元素
T[] copyOf(T[] original, int newLength) 一系列(全部基本資料型別)過載的陣列複製的方法,實現就是:由於陣列長度不可變,那麼必然的就要新new一個和原來同類型的陣列,長度為newLength,然後利用本地方法System.arraycopy把舊陣列的元素全部順序複製到新陣列
int[] copyOfRange(int[] original, int from, int to) (全部基本資料型別)過載的,把舊陣列的區間資料複製到新陣列,新陣列的長度為複製的資料數量。
int hashCode(char a[]) 陣列的過載hashcode方法,支援全部的資料型別
String toString(int[] a) 過載的陣列的tostring方法,按照這種方式拼接陣列元素[a, b, c]
< T > List< T > asList(T… a) 就是陣列轉換為集合的方法。此方法返回的list是基於引數陣列的,不支援改變陣列長度的集合操作方法,如add操作。

Collections集合工具類

方法 描述
sort(List< T > list) list排序,實際操作是:把集合的元素放入陣列中,再按Arrays.sort()方法進行陣列排序,最後把排好序的陣列元素依次填入到集合中(因為有些集合是連結串列)
int binarySearch(List> list, T key) 集合的二分查詢,要求集合有序
reverse(List list) 集合元素反轉,實現:2個遍歷器,一個從前往後,一個從後往前,一個一個元素進行遍歷,並進行交換
swap(List list, int i, int j) 交換集合中2個元素的位置
fill(List list, T obj) 用obj填充集合的每個元素
copy(List dest, List src) 把src集合的元素依次複製到dest中,如果超過dest集合長度,則報錯
min(Collection coll) 找出集合最小元素,每個元素和當前最小值進行比較,小的作為最新的最小值繼續比較
max(Collection coll) 找出集合最大元素,實現同上(元素必須自己能比較,實現Comparable介面)
replaceAll(List< T > list, T oldVal, T newVal) 替換集合中所有的oldval元素為newval元素,沒什麼好辦法,遍歷依次比較替換
int indexOfSubList(List source, List target) 在souce集合找到第一次完全匹配target集合的地方,返回匹配的開始位置。笨辦法,2層迴圈
int lastIndexOfSubList(List source, List target) 在source集合中找到最後一次target出現的地方,實現也是2層迴圈只不過從後開始
addAll(Collection c, T… elements) 將陣列的元素依次加入到集合
Collection unmodifiableCollection(Collection c) 包裝原容器,讓容器不可以改變(一些列容器的過載方法:list,set等),利用代理進行遍歷,查詢,涉及修改的操作全部異常
Collection synchronizedCollection(Collection c) 包裝原容器,容容器執行緒安全(一些列容器的過載方法:list,set等),代理操作,每個操作都進行同步,這個方法應該不會用到,就如同hashtable和Vector道理一樣鎖區間太窄,不能靈活控制
Iterator< T > emptyIterator() 空的遍歷器
Comparator reverseOrder() 返回逆序的遍歷器
List emptyList() 返回空的集合,有set、map就不一一列舉了,返回的都是靜態內部類,為了保證集合為空而寫的。

現階段就分析到這裡,還是那就話,規範,標準化,還是儘量用現有的方法,不過只有熟悉了,到時候才想得起來,也只有理解了,才用的放心

相關推薦

java工具快速定位

其實 java作為一個完善的類庫,本身就提供了很多權威工具類,因此我們平時寫程式碼時候,如果能夠很好的利用現有的工具,將會使開發的速度得到很大的提高,而程式碼的bug也會更少,畢竟經過實踐反覆測試完善的程式碼,不能否認具有更高的權威性,利用這些功能,對於程式碼的

java工具,在Windows,Linux系統獲取電腦的MAC地址、本地IP、電腦名

copy iter 去掉m [] equals linu stat cli catch package com.cloudssaas.util; import java.io.BufferedReader; import java.io.IOException;

自定義的jdbc連接工具JDBCUtils【java 工具

tco 成功 val update red source dex imp 添加 JDBCUtils 類:   1. 創建私有的屬性*(連接數據庫必要的四個變量):dreiver url user password   2. 將構造函數私有化   3.將註冊驅動寫入靜態代碼塊

java工具

new style strings 數組 toarray div ngs tro ron 1.list轉化為數組 ArrayList<String> list=new ArrayList<String>(); String[] strings = n

排名前 16 的 Java 工具

md5 normal 註釋 github上 數組 使用 讀取 lena dma 在Java中,工具類定義了一組公共方法,這篇文章將介紹Java中使用最頻繁及最通用的Java工具類。以下工具類、方法按使用流行度排名,參考數據來源於Github上隨機選取的5萬個開源項目源碼。

Json序列化java工具

java對象 writev ctype imp date eval 取消 cti empty json序列化通用工具類(java)>為了支持此工具類的正常使用,先導入以下jar包 1.lombok包是一個簡化java冗余代碼的jar包,實際開發中很方便在maven的p

排名前16的Java工具

-s lang 分隔符 獲得 輸出流 capital 分隔 部分 檢測字符串 原文:https://www.jianshu.com/p/9e937d178203 在Java中,工具類定義了一組公共方法,這篇文章將介紹Java中使用最頻繁及最通用的Java工具類。以下

Java1---java工具的使用學習(未完成)

導讀 1.簡介 2.Math類 3.String類 簡介 java工具類原碼檢視方法: (1)官網 (2)jdk-> src->src.zip (3)eclipse command+單機 跳轉到原始碼 Math類 ->java.lang(預設)

Java工具-驗證碼工具

  1.工具類,生成隨機驗證碼字串 import java.util.Arrays; /** * 工具類,生成隨機驗證碼字串 * * @version 1.0 * @author * */ public class SecurityCode {

Java工具-加密演算法

    import java.io.UnsupportedEncodingException; import java.security.MessageDigest; import java.security.NoSuchAlgorithmException; pub

Java工具-轉換字元編碼

package common; /** *字串處理公用類 */ public class DealString { /** * 轉換字元編碼 由“iso-8859-1”西文轉換為簡體中文 */ public static String toGb(

Java工具-格式化日期

package common; import java.text.SimpleDateFormat; import java.util.Date; import java.util.Locale; public class DealTime { private Date

Java工具-設定字元編碼

package common; import java.io.IOException; import javax.servlet.Filter; import javax.servlet.FilterChain; import javax.servlet.FilterConfig; i

乾貨:排名前16的Java工具

在Java中,工具類定義了一組公共方法,這篇文章將介紹Java中使用最頻繁及最通用的Java工具類。以下工具類、方法按使用流行度排名,參考資料來源於Github上隨機選取的5萬個開源專案原始碼。 一. org.apache.commons.io.IOUtils closeQuietly:關閉

HTTP請求java工具

package org.rd.cc.csr.util; import java.io.IOException; import java.nio.charset.Charset; import java.security.KeyManagementException; im

java工具->加密工具

public class AES256Utils { /* * 此處使用AES-128-ECB加密模式,key需要為16位。 */ public final static String SKEY = "abcdefg123456788"; // 加密

Java工具(解析excl表格)

使用場景:匯入excl表格 package com.devframe.common.util; import java.text.SimpleDateFormat; import java.util.ArrayList; import java.util.Date; import j

java工具(16)

在Java中,工具類定義了一組公共方法,這篇文章將介紹Java中使用最頻繁及最通用的Java工具類。以下工具類、方法按使用流行度排名,參考資料來源於Github上隨機選取的5萬個開源專案原始碼。 一. org.apache.commons.io.IOUtilscloseQuietly:關閉一個IO流、soc

java工具——圖片新增水印

import java.awt.AlphaComposite; import java.awt.Color; import java.awt.Font; import java.awt.Graphics; import java.awt.Graphics2D; import java.awt.Image

[ java 工具] xml字串解析成Map(DOM解析)

package com.tencent.jungle.wechat.util; import com.google.inject.Singleton; import org.w3c.dom.Document; import org.w3c.dom.Node; import org.w3c.dom.NodeL