黒馬プログラマーJAVA集合
6917 ワード
--------Javaトレーニング、Androidトレーニング、iOSトレーニング、Netトレーニング、期待とあなたの交流!-----。
個人の集合に対する理解: 集合は一つの容器で、一つのオブジェクトで複数のオブジェクトを処理できます。 javaでよく使われるセットは、システムにおいて三つのインターフェースを定義している。 java.util.Setインターフェースとそのサブクラス、Setが提供するのは無秩序なセットです。 java.util.Listインターフェースとそのサブクラスは、Listが提供するのは順序正しいセットである。 java.util.Mapインターフェースとそのサブクラスは、Mapがマッピング関係のセットデータ構造を提供しています。 集合には把握が必要です。 どうやって選択したオブジェクトを獲得しますか? 集合中の要素を増やすにはどうすればいいですか? どうやってセットの要素を削除しますか? 集合中の要素を巡回するにはどうすればいいですか? 3つの集合: セット: Setは無秩序集合であり、同じ要素を保存することは許されない。 実現類はhashSetがあります セットの方法: bolean add(E,o)は、集合にオブジェクトを追加し、このオブジェクトがセットにある場合、falseに戻ります。 bollan addAllは、集合に別の集合を加える。 bootlean contains(Object o)は、集合があるオブジェクトがあるかどうかを判定します。 bootlean containsAllは、集合に別の集合が含まれているかどうかを判断する。 Iteratorこの集合のローズマリーを入手します。 bollan remove(Object o)は、セットからオブジェクトを削除します。 int size()は、セット内の要素の個数を返します。 Object[]toAray()は集合を行列オブジェクトに変換します。 セットの増加、削除、変更、検索の操作を行います。 コード: この集合のローズマリーを入手します。 bollan remove(Object o)は、セットからオブジェクトを削除します。 int size()は、セット内の要素の個数を返します。 Object[]toAray()は集合を行列オブジェクトに変換します。 Listの集合に対して増加、削除、修正、調査の操作を行います。 コード:
個人の集合に対する理解: 集合は一つの容器で、一つのオブジェクトで複数のオブジェクトを処理できます。 javaでよく使われるセットは、システムにおいて三つのインターフェースを定義している。 java.util.Setインターフェースとそのサブクラス、Setが提供するのは無秩序なセットです。 java.util.Listインターフェースとそのサブクラスは、Listが提供するのは順序正しいセットである。 java.util.Mapインターフェースとそのサブクラスは、Mapがマッピング関係のセットデータ構造を提供しています。 集合には把握が必要です。 どうやって選択したオブジェクトを獲得しますか? 集合中の要素を増やすにはどうすればいいですか? どうやってセットの要素を削除しますか? 集合中の要素を巡回するにはどうすればいいですか? 3つの集合: セット: Setは無秩序集合であり、同じ要素を保存することは許されない。 実現類はhashSetがあります セットの方法: bolean add(E,o)は、集合にオブジェクトを追加し、このオブジェクトがセットにある場合、falseに戻ります。 bollan addAllは、集合に別の集合を加える。 bootlean contains(Object o)は、集合があるオブジェクトがあるかどうかを判定します。 bootlean containsAllは、集合に別の集合が含まれているかどうかを判断する。 Iterator
public class Mysettest {
public static void main(String []args){
Mysettest mt=new Mysettest();
// 10
Set<Student> set=mt.userSet(10);
mt.print(set);
// 15
mt.reacher(set, 15);
// 10
Set<Student> sSet=mt.Delete(set, 10);
mt.print(sSet);
}
//
public Set<Student> userSet(int size){
java.util.Random rd=new java.util.Random();
//
Set<Student> set=new HashSet<Student>();
for(int i=0;i<size;i++){
Student st=new Student(" :"+((char)(65+i)),rd.nextInt(20));
// set
set.add(st);
}
return set;
}
//
public void reacher(Set<Student> set,int scroe){
System.out.println(" "+scroe+" =============================>");
// set
java.util.Iterator<Student> it=set.iterator();
while(it.hasNext()){
Student st=it.next();
if(st.getscore()==scroe){
st.showInfo();
}
}
}
//
public Set<Student> Delete(Set<Student> set ,int scroe){
System.out.println(" "+scroe+" =============================>");
//
Set<Student> s=new HashSet<Student>();
// set
java.util.Iterator<Student> it=set.iterator();
while(it.hasNext()){
Student st=it.next();
if(st.getscore()<scroe){
s.add(st);
}
}
// set s
set.removeAll(s);
return set;
}
//
public void print(Set<Student> set){
// set
java.util.Iterator<Student> it=set.iterator();
while(it.hasNext()){
Student st=it.next();
st.showInfo();
}
}
}
Setに同じ2つの要素を加えると上書きされます。2つの要素はセットに同時に存在してはいけません。 List:Listは、同じ要素を保存することができる秩序ある集合である。 実現クラスはArayList、Linked Listがあります。 List集合の方法: bolean add(E,o)は、集合にオブジェクトを追加し、このオブジェクトがセットにある場合、falseに戻ります。 bollan addAllは、集合に別の集合を加える。 bootlean contains(Object o)は、集合があるオブジェクトがあるかどうかを判定します。 bootlean containsAllは、集合に別の集合が含まれているかどうかを判断する。 Iteratorpublic class Mylisttest {
public static void main(String []args){
Mylisttest ml=new Mylisttest();
//
List<Student> list=ml.create(10);
ml.print(list);
// 15
ml.reacher(list, 15);
// 10
List<Student>l=ml.Delete(list, 10);
ml.print(l);
}
//
public List<Student> create(int size){
java.util.Random rd=new java.util.Random();
//
List<Student> list=new ArrayList<Student>();
for(int i=0;i<size;i++){
//
Student st=new Student(" :"+((char)(65+i)),rd.nextInt(20));
// list
list.add(st);
}
return list;
}
//
public void reacher(List<Student> list,int score){
System.out.println(" "+score+" ======================>");
for(int i=0;i<list.size();i++){
Student st=list.get(i);
if(st.getscore()==score){
st.showInfo();
}
}
}
//
public List<Student> Delete(List<Student> list,int score){
System.out.println(" ======================>");
for(int i=0;i<list.size();i++){
Student st=list.get(i);
if(st.getscore()<score){
list.remove(st);
}
}
return list;
}
//
public void print(List<Student> list){
for(int i=0;i<list.size();i++){
Student st=list.get(i);
st.showInfo();
}
}
}
なぜローズマリーを追加しますか?セットは無秩序なので、インデックスに従って配列全体を巡回することはできません。だから、ローズマリーを追加してセットを巡回します。 Listに同じ2つの要素を追加すると上書きされません。2つの要素は同時にListセットに存在してもいいです。 Map:に入れられたオブジェクトは一対のペアです。つまり、各オブジェクトとその名前は一つに関連しています。 Mapには2つのオブジェクトが格納されています。1つはkey(キー)で、1つはvalue(値)で、それらは1つに対応しています。 Mapの中のkeyは同じ値があってはいけません。valueは同じ値があります。 Mapの方法: put(K key,V value)はMapセットに関連するオブジェクトを追加します。 void putAllは他のMapのキーと値をMapに追加します。 bootlean containsKeyはMapのKeyに特定のKeyオブジェクトがあるかどうかを判断します。 bootlean containsKeyはMapのKeyに何らかの指定のvalueオブジェクトが存在するかどうかを判断する。 V remove(Object key)は、Mapからkeyに対応するvalueを削除します。 int size()は、Mapのオブジェクト数を取得します。 Set<k>keySet()は、Map内の全てのkeyオブジェクトを一つのセットに入れて返します。 Collection<v>values()は、Mapのすべてのvalueオブジェクトを一つのCollectionに入れて返します。 Mapの集合を増やし、削除し、修正し、検索する操作コード: public class MyMapTest {
public static void main(String []args){
MyMapTest mt=new MyMapTest();
Map<String,Student>map=mt.create(10);
mt.print(map);
//
mt.reacher(map, 15);
//
mt.Delete(map, 10);
}
//
public Map<String,Student> create(int size){
java.util.Random rd=new java.util.Random();
// map
Map<String,Student> map=new HashMap<String,Student>();
for(int i=0;i<size;i++){
Student st=new Student(" :"+((char)(65+i)),rd.nextInt(20));
map.put(""+i,st);
}
return map;
}
//
public void reacher(Map<String,Student> map,int score){
System.out.println(" "+score+" ======================>");
// Map key
Set<String> set=map.keySet();
// set
java.util.Iterator<String> it=set.iterator();
while(it.hasNext()){
String key=it.next();
Student st=map.get(key);
if(st.getscore()==score){
st.showInfo();
}
}
}
//
public void Delete(Map<String,Student> map,int score){
System.out.println(" ======================>");
// Map key
Set<String> set=map.keySet();
//
Set<String> s=new HashSet<String>();
// set
java.util.Iterator<String> it=set.iterator();
while(it.hasNext()){
String key=it.next();
Student st=map.get(key);
if(st.getscore()<score){
s.add(key);
}
}
set.removeAll(s);
// set
java.util.Iterator<String> iter=set.iterator();
while(iter.hasNext()){
String key=iter.next();
Student st=map.get(key);
st.showInfo();
}
}
//
public void print (Map<String,Student> map){
// Map key
Set<String> set=map.keySet();
// set
java.util.Iterator<String> it=set.iterator();
while(it.hasNext()){
String key=it.next();
Student st=map.get(key);
st.showInfo();
}
}
}