JAVA コレクション

ArrayList

ArrayListの使い方

  • instance化
ArrayList<型> 変数 = new ArrayList<型>();

**I.E

ArrayList<String> names = new ArrayList<String>();
  • 要素追加 I.E
names.add("youso1");
names.add("youso2")
names.add("youso3")
  • 要素取得
for(リスト要素の型 s: リスト変数){
    System.out.println(s);
}
  • iteratorを利用した、リスト要素の取得
Iterator<String> it = names.iterator();

while(it.hasNext()) {
    String e = it.next();
    System.out.println(e);
}

Map

  • Instance化
Map<型, 型> 変数 = new HashMap<型, 型>();
Map<Integer, String> maplist = new HashMap<Integer, String>();

*要素追加、参照 maplistはMapのMap<Integer, String>型の変数とする。

#要素追加
maplist.put(1, "abcd");
#要素参照
maplist.get(1);
  • for分を利用した変数の取得
#for(keyの型: マップ変数.keySet())
for(Integer: key: maplist.keySet()){
   String value = maplist.get(key);
   System.out.println(value);
}

Java Bean

JavaBeanとは?

Java インスタンスの仕様である。 以下のような特徴も持つ。

  • クラスをpublicで指定する

  • プロパティ(クラスのメンバ変数)はprivateで指定する

  • public指定で引数なしのコンストラクタを定義する

  • プロパティにアクセスするためのgetter、setterメソッドを用意する

  • java.io.Serializableインタフェースを実装する(必須ではない)

  • パッケージ化する

  • クラス名の最後は慣例的にBeanにする

Java Beans のメリット

  • 仕様が決まっているので、classを利用しやす。 I.E Getter,Setterが必ずある等。

  • DIで利用する。

Linuxコマンド Tips

ファイルの絶対パスを取得

readlinkコマンド

# readlink -f test.file
/home/tmp/test.file
すでにInstall済みのパッケージをapt-getでダウンロードする。

以下のように--reinstall をつけることで、すでにInstallされているパっケージを、 ダウンロードすることができる。 ダウンロードパッケージは、 -o dir::cache=pwdオプションで指定しない場合は、 /var/cache/apt/archives/ に保管されている。 -o dir::cache=pwd で指定した場合は、そのパスにダウンロードされる。

# apt install -d openjdk-8-jre-headless --reinstall  -o dir::cache=`pwd` 
パッケージの依存関係を調べるコマンド。
# apt-cache depends openjdk-8-jre-headless 

openjdk-8-jre-headless
  Depends: ca-certificates-java
  Depends: java-common
  Depends: libcups2
  Depends: liblcms2-2
  Depends: libjpeg8
  Depends: libfontconfig1
  Depends: libnss3
  Depends: util-linux
    util-linux:i386
  Depends: libc6
  Depends: libfreetype6
  Depends: libgcc1
  Depends: libpcsclite1
  Depends: libstdc++6
  Depends: libx11-6
  Depends: libxext6
  Depends: libxi6
  Depends: libxrender1
  Depends: libxtst6
  Depends: zlib1g
  Breaks: ca-certificates-java
  Breaks: <oracle-java8-installer>
  Breaks: <tzdata-java>
  Suggests: libnss-mdns
  Suggests: fonts-dejavu-extra
  Suggests: fonts-ipafont-gothic
  Suggests: fonts-ipafont-mincho
  Suggests: fonts-wqy-microhei
  Suggests: fonts-wqy-zenhei
  Suggests: fonts-indic

文字コード

文字コードは、符号化文字集合と符号化方式から構成される。

符号化文字集合

符号(code)文字集合を定めた規則。 以下のように、unicode,JIS等々

unicode

対象:世界中の文字、記号、等々

JIS

対象:平仮名、カタカナ、漢字、ラテン基本文字、記号、とうとう

KS

対象:ハングル、ラテン等々

符号化方式

符号化文字集合で文字に対応付けた整数値を、実際にコンピュータが利用できるデータ列(通常、バイト列)に変換し符号化(エンコーディング:Encoding)する方式。

例えば、Unicodeであれば、UTF-8,16,32などの符号化方式がある。

符号化文字集合  符号化方式

Unicode       1 UTF-8           2 UTF-16 3 UTF-32

Git

git 履歴

#git log --graph --decorate --oneline

tag 関連

tag 付

#git tag タグ名
I.E.
 #git tag v1.4   //v1.4のタグが付く。

tag push

git pushだけではtagはpushされない。 タグづけした後、以下のコマンドを実行する必要がある。

#git push origin タグ名

タグを一括して、pushしたい場合は以下の通り、

#git push origin --tag

tag削除

#git tag -d タグ名

tag一覧参照

#git tag

I.E.
# git tag
beta3.1.2
r0.1
push
r1.0.0

特定のtag参照

#git show タグ名
 ```

firewall-cmd

*firewall-cmd

RHEL7から標準コマンドとなったfirewallコマンドに関して

**ポートの追加

I.E 22版ポートを開放する

firewall-cmd --add-port=22/tcp --zone=public --permanent
firewall-cmd --reload

** 解放されているポート一覧を表示

#firewall-cmd --list-ports --zone=public

5432/tcp 27017/tcp 3000/tcp 3001/tcp 3003/tcp 20000-25000/tcp 3002/tcp 3100/tcp 5140/tcp 514/udp 123/tcp 123/udp 1947/tcp 1947/udp 5433/tcp