Java note

HashSet

2017-09-15  本文已影响10人  chcvn

方法封装(Alt+Shift + M)

//创建集合

//HashSetH=new HashSet();

Set

set=new HashSet();//父接口引用子类

//添加元素

set.add("Holl");

set.add("Java");

//遍历集合1.

//        IteratorIt=set.iterator();

//        while(It.hasNext()){

//                        System.out.println(It.next());

//                }

//转数组2.

//                Object[] orr=set.toArray();

//                for(int i = 0; i < orr.length; i++) {

//                        System.out.println(orr[i]);

//                }

//foreach3.

for(String string : set) {

System.out.println(string);

}

Set集合的特点

无序(存储和读取的顺序有可能不一样)

不允许重复的元素!(唯一)

直接打印类对象,打印的是tostring()方法

//根据添加新元素的hashcode()返回值计算出hash值

??hashset的add()方法不能去重的原因

HashSet的add()方法,首先会使用当前集合中的每一个元素和新添加的元素进行Hash值比较

如果hash值不一样,则直接添加新的元素

如果hash值一样,比较地址值,或者使用equlas方法进行比较.

比较结果一样,则认为是重复不添加

所有的比较结果不一样则添加

(因为自定义对象存的是地址:所以不一样)

Collections:

面试题:

Collection和Collections有什么区别

Collenction是集合体现的最顶层,包含了集合体系的共性

Collections是一个工具类,所有的方法都是static的.方法就是用于操作Collection

·Static

int binarySearch(List list,T key)使用二分查找指定元素在指定列表的索引位置

List集合只能存对象

·static void copy(List dest,list src):把原列表中的数据覆盖到目标列表

注意:被覆盖的列表长度要大于等于原列表的长度

·Staticvoid fill(List list,object obj)

o使用指定的对象填充指定列表的所有元素!(一键修改所有元素)

·Static

void reverse(List list) //反转

·Static

void shuffle(List list)傻否,随机置换;

·Static

void sort (List list)升序

·Static

void swap(Lit s list ,int I,int j);将指定列表中的两个索引进行置换

fonU����?

上一篇 下一篇

猜你喜欢

热点阅读