1.

 

 

 Collection是集合类的基本接口,List和Set是它的其中两个接口,Collection为List和Set根据不同数据结构实现了许多方法。

———————————————————————————————————————————————————————————————————————

2.

遍历一个集合对象的方法

①通过普通的for循环或while循环遍历Set并输出;

②通过foreach语句的for循环并输出;

③通过Iterator迭代器接口遍历输出

while (aSet.iterator().hasNext()){
            System.out.println(aSet.iterator().next());
        }

 

*aSet.iterator()每次都会创建出一个新的Iterator实现对象,这样的话就相当于每次都是一个新的Iterator实现对象去判断hashNext(),得到的肯定是true,所以才产生了无限循环。

 

 

Iterator iterator = testList.iterator() ;         
while(iterator.hasNext()) {
System.out.println(iterator.next());
System.out.println(iterator.equals(iterator));
}

 

 

Iterator是用于遍历集合类的标准访问方式。

———————————————————————————————————————————————————————————————————————

3.

Java的Vector与C++类似,主要功能是自动增加容量来容纳所需的对象元素。可以通过get方法得到对象元素,也可以通过迭代器遍历对象,并且具有线程安全性。

——————————————————————————————————————————————————————————————————————

4.

 

 

 ———————————————————————————————————————————————————————————————————————

5.6.

Collection是集合类的基本接口,用来说明作为一个集合类应该有的结构特征属性和共性操作方法。

Collections是通过一些静态方法,完成集合类的一些操作功能的类。

比如

//建立一个Set集合
Set singleton(Object o);
//建立一个List集合
List singleton(Object o);
//建立一个Map集合
Map singleton(Object o);

 

———————————————————————————————————————————————————————————————————————

7.

当需要被多个线程读取并维护时,我们应该使用线程安全的数据集合,比如Vector、Stack或者HashTable(工业级别)。

如果多个线程只是读取时可以选择ArrayList等等便于访问的对象集合。

———————————————————————————————————————————————————————————————————————

8.

定义一个复数类并按照复数的实部大小对复数对象进行排序

import java.util.*;

class Plural {
    public int x;
    public int y;
    public Plural(int x, int y) {
        this.x = x;
        this.y = y;
    }

    public String toString() {
        return String.valueOf(x)+"+"+String.valueOf(y)+"i";
    }
}

    public class test10 {
        public static void main(String[] args) {
            ArrayList<Plural> a= new ArrayList<Plural>();
            a.add(new Plural(1,2));
            a.add(new Plural(4,3));
            a.add(new Plural(3,4));
            System.out.println(a);
            Collections.sort(a, new Comparator<Plural>(){
                public int compare(Plural o1, Plural o2) {
                    return (Integer)o2.x - (Integer)o1.x;
                }
                //o2-o1<0 => o1>o2 => o1在前o2在后即大的数排前面
            });
            System.out.println(a);
        }
    }

 

posted on 2020-12-19 11:17  studycya  阅读(67)  评论(0)    收藏  举报