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_ - 要素の型