Shiqianfengを学習の最初の26日間で
学習は、広範囲に、忍耐力、私たちのための自己改善無限大です。"
さあ、中国は、武漢は、前方給油、自分の燃料を給油します。
今週の主要な研究コレクションパッケージングや収集システム、今日のリプレイで日総括していた:
1、JDK5後の包装は、自動包装を提供し、大幅に、開梱してラッパークラスを使用してプログラミングプロセスを簡素化
2 、心従来の方法のタイプ(一般的に使用される方法の17種類)のベアリングをスティング
可変文字列(文字列の連結JVMのために自動的に起動)請求項3、
1)文字列JDK1.0 StringBufferの可変放出、スロー動作効率、セキュリティスレッド;
2効率、スレッドセーフ実行している)のStringBuilder変数の文字列JDK1.5リリース、
3、コレクション順不同収集システム、無添字を。
1)従来の方法を念頭において、軸受
2)Listインタフェースの特徴:秩序、添字要素を繰り返すことができます。
実装クラス
(1)のArrayList(フォーカス)// JDK7前に、引数なしのコンストラクタを直接長さ10のオブジェクトの配列を作成し、あなたが持っていないと、スペースの無駄を作成しないでください。// JDK8後、引数なしのコンストラクタは、直接長さ0の配列を作成するには、スペースを取りません。あなたが最初の要素が実際には配列のためのスペースを割り当てる必要が追加したときに、操作の実際の展開への配列は、時間の経過とともに、配列、(レイジーレイジー)にデータを挿入するには再作成、または再ロードされ、効果的に高速の不要なメモリ使用JDK1.2リリース業務の効率化、スレッドセーフを減らします。達成するためのアレイ構造、高速クエリは、遅い切断;
(2)VectorJDK1.0徐放性動作効率を、スレッドセーフ。達成するためのアレイ構造、高速クエリ、遅い切断;
(3)LinkedListの(リンクされたリストの記憶構造、非線形の)リスト(リンクのリスト)構造ストアに、クエリが遅い、速い付加および欠失。
3)設定されたインタフェースの特徴:乱れ、何添字要素は繰り返さないことはできません。
実装クラス
(1)HashSetの(フォーカス)の要素を繰り返すことはできません。
(2)LinkedHashSetのは、(理解)
(3)TreeSetの(知っている)
、ツールはレベル何の問題を使用して、心の中でメソッドを維持するために理論的な知識の無地感の良い把握の日を探していますが、いくつかの困難がある場合は、ソースコードの側面が見て、まだすべてのものがオブジェクトであるためには、蓄積する時間を必要とし、すべてのツールです。それでも私たちは、燃料の努力を継続する必要があります。
#ジョブ
4、C
6、B
7、
1)給料を高めるためにフロートスイッチであります
public int hashCode() {
return (int)(name.hashCode()+age+salary);
}
添字0を除去することなく2)のセット
s.add(0,new Worker(18,"jerry",2000));
HashSetのは、重複したオブジェクトを格納することができないことを証明するために7-8、ライト・コード
public class Worker {
int age;
String name;
double salary;
public Worker() {}
public Worker(int age, String name, double salary) {
super();
this.age = age;
this.name = name;
this.salary = salary;
}
@Override
public int hashCode() {
return (int)(name.hashCode()+age+salary);
}
@Override
public boolean equals(Object obj) {
if (this==obj) {
return true;
}
if (obj==null) {
return false;
}
if (obj.getClass()!=this.getClass()) {
return false;
}
Worker w=(Worker)obj;
if(this.name.equals(w.name)&&
this.age==w.age&&this.salary==w.salary) {
return true;
}
return false;
}
}
import java.util.HashSet;
import java.util.Set;
public class TestWorker {
public static void main(String[] args) {
Set <Worker>s=new HashSet<Worker>();
s.add(new Worker(18,"tom",2000));
s.add(new Worker(18,"tom",2000));
s.add(new Worker(18,"jerry",2000));
System.out.println(s.size());
}
}
。9、
キー値が存在しない場合が格納されている場合、キー元の値が既に、被覆存在する場合PUTは、キーと値のペアにする方法を示しています。
removeメソッドは、オブジェクトを削除することを示すオブジェクトパラメータを受け取ります。
戻り値は、オブジェクトが返されることを示し、オブジェクトを表す値は、メソッドのパラメータを取得することをメソッドを取得し
、設定値が設定されて返され、)マップ内のすべてのキーを取得するために、メソッドキーセット(使用されるべき
地図のすべての値を得るために、SHOULD値コレクションセットを返す利用値()、
10-13、(マップ)入力今年の出力は、その年のワールドカップチーム、チームの入力、出力のワールドカップのチームを取ります
import java.util.HashMap;
import java.util.Map;
import java.util.Scanner;
public class TestHashMap {
public static void main(String[] args) {
Map<Integer, String> hp=new HashMap<Integer, String>();
hp.put(1930, "乌拉圭");
hp.put(1934, "意大利");
hp.put(1938, "意大利");
hp.put(1950, "乌拉圭");
hp.put(1954, "德国");
hp.put(1958, "巴西");
hp.put(1962, "巴西");
hp.put(1966, "英格兰");
hp.put(1970, "巴西");
hp.put(1974, "德国");
hp.put(1978, "阿根廷");
hp.put(1982, "意大利");
hp.put(1986, "阿根廷");
hp.put(1990, "德国");
hp.put(1994, "巴西");
hp.put(1998, "法国");
hp.put(2002, "巴西");
hp.put(2006, "意大利");
System.out.println("请输入一个年份");
Scanner scan=new Scanner(System.in);
Integer year=scan.nextInt();
if (hp.get(year)!=null) {
System.out.println("世界杯冠军是"+hp.get(year)+"队");
}else {
System.out.println("没有举办世界杯");
}
System.out.println("请输入一个队伍");
String team=scan.next();
if (hp.values().contains(team)) {
for (Integer key : hp.keySet()) {
if (hp.get(key).equals(team)) {
System.out.println(key+"获得世界杯");
}
}
}else {
System.err.println("没有获得世界杯");
}
scan.close();
}
}
11、キーコースとして、教師の値として、クラスアクション地図のシリーズを完了
import java.util.HashMap;
import java.util.Map;
public class TestHashMap {
public static void main(String[] args) {
Map<String , String > hp=new HashMap<String ,String >();
hp.put("Tom", "CoreJava");
hp.put("John", "Oracle");
hp.put("Susan", "Oracle");
hp.put("Jerry", "JDBC");
hp.put("Jim", "Unix");
hp.put("Kevin", "JSP");
hp.put("Lucy", "JSP");
hp.put("Allen", "JDBC");
hp.put("Lucy", "CoreJava");
for (String key : hp.keySet()) {
System.out.println(key+"\t"+hp.get(key));
}
for (String key : hp.keySet()) {
if (hp.get(key)=="JSP") {
System.out.println(key);
}
}
}
}
12、
B
14、(マップ)文字列を入力し、それらの出力文字の文字列、各文字の出現
import java.util.HashMap;
import java.util.Map;
import java.util.Scanner;
public class TestHashMap {
public static void main(String[] args) {
Scanner scan=new Scanner(System.in);
System.out.println("输入一段字符串");
String s=scan.next();
Map<Integer, Character> hp=new HashMap<Integer, Character>();
for (Integer i = 0; i < s.length(); i++) {
hp.put(i, s.charAt(i));
}
System.out.print("字符串由");
for (Integer key : hp.keySet()) {
System.out.print(hp.get(key));
System.out.print(",");
}
System.out.println("组成");
System.out.println("每个字符出现的次数为");
for (Integer key : hp.keySet()) {
System.out.print(hp.get(key));
System.out.print("出现");
int size=1;
for (int i = 0; i < s.length(); i++) {
if (hp.get(i).equals(hp.get(key))) {
if (i!=key) {
size++;
}
}
}
System.out.print(size);
System.out.println();
}
System.out.println("程序结束");
scan.close();
}
}