public class hiArrays extends Object
コンストラクタと説明 |
---|
hiArrays() |
修飾子とタイプ | メソッドと説明 |
---|---|
static <T> T[] |
asArray(T... ts_)
ジェネリッククラスの配列を得る.
|
static LinkedHashMap<String,Object> |
asDict(Object obj_)
ObjectをLinkedHashMap<String,Object>にキャストします.
|
static ArrayList<Object> |
asList(Object obj_)
ObjectをArrayList<Object>にキャストします.
|
static String[] |
atoa(ArrayList<String> arrayList_)
ArrayList<String>をString[]に変換する
|
static ArrayList<String> |
atoa(String[] array_)
String[]をArrayList<String>に変換する
|
static int |
bytesToInt(byte... vals_)
byte並びを下位からintにまとめる.
|
static int |
bytesToIntFromTop(byte... vals_)
byte並びを上位からintにまとめる.
|
static long |
bytesToLong(byte... vals_)
byte並びを下位からlongにまとめる.
|
static long |
bytesToLongFromTop(byte... vals_)
byte並びを上位からlongにまとめる.
|
static short |
bytesToShort(byte... vals_)
byte並びを下位からshortにまとめる.
|
static int |
bytesToShortFromTop(byte... vals_)
byte並びを上位からshortにまとめる.
|
static <T> boolean |
equals(T[] obj1_,
T[] obj2_)
オブジェクトの比較(null可,equals使用)(試験中).
|
static <T> T |
get(List<T> list_,
int idx_,
T default_)
Listの指定位置の要素を取得する(デフォルト値あり).
|
static <T> T |
get(T[] list_,
int idx_,
T default_)
配列の指定位置の要素を取得する(デフォルト値あり).
|
static long |
intsToLong(int... vals_)
int並びを下位からlongにまとめる.
|
static long |
intsToLongFromTop(int... vals_)
int並びを上位からlongにまとめる.
|
static short[] |
intToShorts(int val_)
intを2個のshortに分ける.
|
static boolean |
isNull(List list_)
リストがnullまたは空であるかチェックする
|
static boolean |
isNull(Map map_)
Mapがnullまたは空であるかチェックする
|
static boolean |
isNull(String str_)
文字列がnullまたは空文字列であるかをチェックする.
|
static String |
itoa3(int i_)
intの3桁区切りの文字列を得る.
|
static StringBuilder |
join(StringBuilder sb_,
Iterable objs_,
String dlmt_)
Objectのリストを文字列連結しStringBuilderに付加する.
|
static <T> T |
lastOf(List<T> list_,
T default_)
Listの最後の要素を取得する(デフォルト値あり).
|
static <T> T |
lastOf(T[] list_,
T default_)
配列の最後の要素を取得する(デフォルト値あり).
|
static int[] |
longToInts(long val_)
longを2個のintに分ける.
|
static int[] |
parseInts(String str_,
char dlmt_)
整数文字列並びをパーズする.
|
static int[] |
parseInts(String str_,
char pre_,
char dlmt_,
char post_)
前後に囲みがある整数文字列並びをパーズする.
|
static int[] |
parseInts(String str_,
char dlmt_,
int n_)
整数文字列並びをパーズする.
|
static int[] |
parseInts(String str_,
char dlmt_,
int n_,
String msg_)
整数文字列並びをパーズする.
|
static byte[] |
resize(byte[] org_,
int new_len_)
バイト配列のlengthを変更した配列を得る.
|
static int[] |
resize(int[] org_,
int new_len_)
int配列のlengthを変更した配列を得る.
|
static int |
shortsToInt(short... vals_)
short並びを下位からintにまとめる.
|
static int |
shortsToIntFromTop(short... vals_)
short並びを上位からintにまとめる.
|
static long |
shortsToLong(short... vals_)
short並びを下位からlongにまとめる.
|
static long |
shortsToLongFromTop(short... vals_)
short並びを上位からlongにまとめる.
|
static int[] |
shuffled_ints(int size_)
シャッフルされた整数列を得る。
|
static int[] |
shuffled_ints(int seed_,
int size_)
シャッフルされた整数列を得る(seed指定により同じものを得る事ができる)。
|
static <T> T[] |
toArray(List<T> list_)
非推奨です。
|
static <T> T[] |
toArray(List<T> list_,
Class<?> class_)
Listから配列を得る.
|
static <T> T[] |
toArray(Set<T> set_)
非推奨です。
|
static <T> T[] |
toArray(Set<T> set_,
Class<?> class_)
Setから配列を得る.
|
static <T> ArrayList<T> |
toList(T[] array_)
配列からArrayListを得る.
|
static String[] |
toStrArray(List<String> arrayList_)
非推奨です。
|
static ArrayList<String> |
toStrArrayList(String[] array_)
非推奨です。
|
public static final int[] parseInts(String str_, char dlmt_)
String values = "4,12,10,9"; String values2=" 4 , 0x0C , 0x0A , 9 "; String values3=" 500x600 "; int[] ints = hiU.parseInts(values,','); ->[4,12,10,9] int[] ints2= hiU.parseInts(values2,','); ->[4,12,10,9] int[] ints3= hiU.parseInts(values3,'x'); ->[500,600]
str_
- 整数文字列並びdlmt_
- 区切り記号public static final int[] parseInts(String str_, char dlmt_, int n_)
String values = "4,12,10,9"; String values2=" 4 , 0x0C , 0x0A , 9 "; String values3=" 500x600 "; int[] ints = hiU.parseInts(values,',',4); ->[4,12,10,9] int[] ints2= hiU.parseInts(values2,',',4); ->[4,12,10,9] int[] ints3= hiU.parseInts(values3,'x',2); ->[500,600] int[] ints4= hiU.parseInts(values3,'x',3); -> Exception(illegal format)
str_
- 整数文字列並びdlmt_
- 区切り記号n_
- 個数(この個数が得られない場合は例外発生)public static final int[] parseInts(String str_, char dlmt_, int n_, String msg_)
parseInts(String,char,int)
に例外用文字列を付加したものです。
str_
- 整数文字列並びdlmt_
- 区切り記号n_
- 個数(この個数が得られない場合は例外発生)msg_
- 例外のmessageの先頭に付加する文字列public static final int[] parseInts(String str_, char pre_, char dlmt_, char post_)
String values = " [4,12,10,9]"; String values2=" (4 , 0x0C , 0x0A , 9 )"; String values3=" {500x600} "; int[] ints = hiU.parseInts(values,'[',',',']'); ->[4,12,10,9] int[] ints2= hiU.parseInts(values2,'(',',',')'); ->[4,12,10,9] int[] ints3= hiU.parseInts(values3,'{','x','}'); ->[500,600]
str_
- 整数文字列並びpre_
- 開始文字dlmt_
- 区切り記号post_
- 終了文字public static final String itoa3(int i_)
i_
- 数値public static final long intsToLong(int... vals_)
vals_
- int並びpublic static final long shortsToLong(short... vals_)
vals_
- short並びpublic static final int shortsToInt(short... vals_)
vals_
- short並びpublic static final long bytesToLong(byte... vals_)
vals_
- byte並びpublic static final int bytesToInt(byte... vals_)
vals_
- byte並びpublic static final short bytesToShort(byte... vals_)
vals_
- byte並びpublic static final long intsToLongFromTop(int... vals_)
vals_
- int並びpublic static final long shortsToLongFromTop(short... vals_)
vals_
- short並びpublic static final long bytesToLongFromTop(byte... vals_)
vals_
- byte並びpublic static final int shortsToIntFromTop(short... vals_)
vals_
- short並びpublic static final int bytesToIntFromTop(byte... vals_)
vals_
- byte並びpublic static final int bytesToShortFromTop(byte... vals_)
vals_
- byte並びpublic static final int[] longToInts(long val_)
次の操作と同じです。
_ret[0]= (int)(val_ >> 32); _ret[1]= (int)(val_&0xFFFFFFFFL);
val_
- パックされた値public static final short[] intToShorts(int val_)
次の操作と同じです。
_ret[0]= (short)((val_ >> 6)&0xFFFF); _ret[1]= (short)(val_&0xFFFF);
val_
- パックされた値public static final boolean isNull(String str_)
文字列が空であることのプログラム上の表現はnullと""が混在します。
この関数は極めて単純なものですが、バグ回避に大きく貢献する
現実重視のものです。
// String strとして if( hiU.isNull(str) ) {...} // は if( sts==null || str.length()==0 ) {...} // と同じ
str_
- 文字列public static final boolean isNull(List list_)
list_
- チェックするリストpublic static final boolean isNull(Map map_)
map_
- チェックするマップpublic static ArrayList<String> atoa(String[] array_)
array_
- 文字列の配列public static String[] atoa(ArrayList<String> arrayList_)
arrayList_
- 文字列のリスト@Deprecated public static ArrayList<String> toStrArrayList(String[] array_)
array_
- String配列@Deprecated public static String[] toStrArray(List<String> arrayList_)
次の処理と同じです。単純ですが、頻度が高くかつ間違いやすいので関数化しました。
ArrayList<String> strList=new ArrayList<String>(); String[] result={}; // nullは許されない result = strList.toArray(result);
arrayList_
- StringのListpublic static StringBuilder join(StringBuilder sb_, Iterable objs_, String dlmt_)
sb_
- ここに追加されるobjs_
- オブジェクトのリストdlmt_
- 区切り記号public static final LinkedHashMap<String,Object> asDict(Object obj_)
"無検査キャスト"ワーニングを避けるためだけに用意しました
obj_
- 辞書Objectpublic static final ArrayList<Object> asList(Object obj_)
"無検査キャスト"ワーニングを避けるためだけに用意しました
obj_
- リストObjectpublic static int[] shuffled_ints(int seed_, int size_)
seed_
- シャッフル用乱数の種値。size_
- 生成する列のサイズpublic static int[] shuffled_ints(int size_)
size_
- 生成する列のサイズpublic static <T> T get(List<T> list_, int idx_, T default_)
Listの指定位置の要素を取得します。範囲外を指定した場合は 指定のデフォルト値が返ります。
T
- 型list_
- リストidx_
- 位置指定(0オリジン)default_
- デフォルト値public static <T> T lastOf(List<T> list_, T default_)
Listの最後の用を取得します。空の場合はデフォルト値が戻ります
T
- 型list_
- リストdefault_
- デフォルト値public static <T> T get(T[] list_, int idx_, T default_)
配列の指定位置の要素を取得します。範囲外を指定した場合は 指定のデフォルト値が返ります。
T
- 型list_
- 配列トidx_
- 位置指定(0オリジン)default_
- デフォルト値public static <T> T lastOf(T[] list_, T default_)
配列の最後の用を取得します。空の場合はデフォルト値が戻ります
T
- 型list_
- 配列default_
- デフォルト値public static <T> boolean equals(T[] obj1_, T[] obj2_)
T
- 型obj1_
- オブジェクトobj2_
- オブジェクトpublic static final byte[] resize(byte[] org_, int new_len_)
配列を指定サイズにします。
元々指定サイズだった場合はそのまま返ります。
元々のサイズと異なる場合は新たな配列が作成されます。
元々のサイズより指定サイズが小さい場合は後ろが捨てられます
元々のサイズより大きい場合は後ろの値は不定です。
org_
- 元の配列new_len_
- 新しい長さpublic static final int[] resize(int[] org_, int new_len_)
配列を指定サイズにします。
元々指定サイズだった場合はそのまま返ります。
元々のサイズと異なる場合は新たな配列が作成されます。
元々のサイズより指定サイズが小さい場合は後ろが捨てられます
元々のサイズより大きい場合は後ろの値は不定です。
org_
- 元の配列new_len_
- 新しい長さpublic static <T> ArrayList<T> toList(T[] array_)
配列から可変長のArrayListを作成します。
String[] _array= new String[]{....}; List<String> _list = hiU.toList(_array); _list.add("abc"); // 可
Java標準のasListで得られるのは可変長ではありませ。推奨しません。
String[] _array= new String[]{....}; List<String> _list = Array.asList(_array); _list.add("abc"); // java.lang.UnsupportedOperationException
T
- 要素の型array_
- 配列public static <T> T[] asArray(T... ts_)
T
- 型ts_
- 配列に入れるオブジェクト@Deprecated public static <T> T[] toArray(List<T> list_)
引数の要素数が0の場合戻り値はnullとなります。
出来るだけtoArray(List,Class)
を使ってください
ArrayList<String> _list = new ArrayList<>(); // _listに要素設定 String[] _array = hiU.toArray(_list); // 非推奨 String[] _array2= hiU.toArray(_list,String.class);// 推奨 String[] _array3= _list.toArray(new String[0]);// Java標準
T
- 要素の型list_
- リストデータpublic static <T> T[] toArray(List<T> list_, Class<?> class_)
ArrayList<String> _list = new ArrayList<>(); // _listに要素設定 String[] _array= hiU.toArray(_list,String.class);
本メソッドの代わりにJavaの標準の方法をとっても構いませんが推奨しません。
ArrayList<String> _list = new ArrayList<>(); // _listに要素設定 String[] _array= _list.toArray(new String[0]);
T
- 要素の型list_
- リストデータclass_
- 要素の型@Deprecated public static <T> T[] toArray(Set<T> set_)
引数の要素数が0の場合戻り値はnullとなります。
出来るだけtoArray(List,Class)
を使ってください
ArrayList<String> _list = new ArrayList<>(); // _listに要素設定 String[] _array = hiU.toArray(_list); // 非推奨 String[] _array2= hiU.toArray(_list,String.class);// 推奨 String[] _array3= _list.toArray(new String[0]);// Java標準
T
- 要素の型set_
- セットデータpublic static <T> T[] toArray(Set<T> set_, Class<?> class_)
HashMap<String,String> _map=new HashMap<>(); // ・・・_mapに要素設定 String[] _array= hiU.toArray(_map.keySet(),String.class);
本メソッドの代わりにJavaの標準の方法をとっても構いませんが推奨しません。
ArrayList<String> _list = new ArrayList<>(); // _listに要素設定 String[] _array= _listtoArray(new String[0]);
T
- 要素の型set_
- セットデータclass_
- 要素の型