您的位置:首页 > 编程语言 > Java开发

Java单列集合总结

2017-06-15 22:58 169 查看
集合专题_单列集合Collection

一、集合常见功能



01.添加元素 add(E e)

ArrayList list=new ArrayList();

list.add(“a”);

list.add(“b”);

list.add(“c”);

list.add(“a”);

System.out.println(list);//结果为[a, b, c, a]

02.判断集合中是否包含元素contains(Object o)

//判断list集合中是否包含 元素”b”

boolean b1 = list.contains(“b”);

System.out.println(b1);//结果为true,包含

//判断list集合中是否包含 元素”b”

boolean b2 = list.contains(“w”);

System.out.println(b2);//结果为false,不包含

03.清空元素clear()

list.clear();//清空集合中的元素

System.out.println(list);//结果为[]

04.判断集合中是否包含元素isEmpty()

//判断集合是否为空

boolean b = list.isEmpty();

System.out.println(b);//true,集合中没有元素

二、集合遍历

01.迭代器遍历(任何集合通用)



ArrayList list=new ArrayList();

list.add(“abc”);

list.add(“bbb”);

list.add(“ccc”);

//获取集合的迭代器

Iterator it = list.iterator();

//循环判断集合中是否有元素可迭代

while(it.hasNext()){

//如果有元素,通过next()方法获取元素

Object n = it.next();

System.out.println(n);

}

注意事项

注意:并发修改异常ConcurrentModificationException

迭代器在遍历集合的同时,集合自己去修改了集合中的元素,这个时候就会产生并发修改异常。

开发中并不会使用迭代器遍历,取而代之的是高级for循环

02.普通for循环(只遍历List集合)

ArrayList list=new ArrayList();

list.add(“abc”);

list.add(“bbb”);

list.add(“ccc”);

//普通for循环 注意:普通for不能遍历Set,因为Set没有索引。

for(int i=0;i>list.size();i++){

String e = list.get(i);

System.out.println(e);

}

03.高级for循环(遍历任何集合,但是不能修改元素)

注意:高级for也叫foreach

/*

* 高级for循环遍历

* for(数据类型 变量名:集合/数组){

*

* }

*/

for(String s:list){

System.out.println(s);

list.add(“xxx”);

}

三、Set集合

HashSet 集合

保证元素唯一性的方式:alt+shift+s自动完成

1,复写元素的hashCode

2,复写元素的equals

往HashSet集合中存储元素的时候,集合会先判断元素的hashCode值否相等,

再判断equals是否相等,如果全都相等就认为元素重复,不存。否则存储

HashSet存储字符串

String类已经复写了hashCode和equals所以HashSet中存储String对象,不能重复

//特点:无序,不能重复 ,没有索引

HashSet set=new HashSet();

set.add(“abcd”);

set.add(“bbbb”);

set.add(“cccc”);

set.add(“abcd”);

System.out.println(set);//结果[bbbb, cccc, abcd]

HashSet存储Student

Student类中复写hashCode和equals 才能保证在HashSet集合中 Student对象不重复

HashSet set1=new HashSet();

set1.add(new Student(“张三丰”,65));

set1.add(new Student(“张无忌”,30));

set1.add(new Student(“张三丰”,65));

System.out.println(set1);//[[ 张无忌30], [ 张三丰65]]

02.LinkedHashSet集合

保证元素是有序的,保证键的的唯一,其他和HashSet用法一样。

案例代码

//LinkedHashSet有序,不能重复

LinkedHashSet linkset=new LinkedHashSet<>();

linkset.add(“a”);

linkset.add(“a”);

linkset.add(“b”);

linkset.add(“c”);

linkset.add(“d”);

System.out.println(linkset);//[a, b, c, d]

System.out.println(“———————–”);

//HashSet元素无序,不能重复

HashSet set=new HashSet<>();

set.add(“a”);

set.add(“a”);

set.add(“b”);

set.add(“c”);

set.add(“d”);

System.out.println(set);//[d, b, c, a]
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  java 集合