Java基础复习—集合

一、Collection接口和Iterator

1.boolean add(Object c) 添加操作,返回布尔值表示状态;

2.void clear(); 清除集合里所有的元素,集合长度变为0;

3.boolean contains(Object c); 查找集合里是否有指定元素c,返回布尔值;

4.boolean remove(Object c); 删除数组里指定元素c,返回布尔值;

5.Object toArray(); 把集合转换为数组,集合元素变为数组元素;

Collection c = new ArrayList();

//添加两个集合元素
c.add("孙悟空")
//集合只能操作引用类型,但是Java提供了基本类型的自动装箱;
c.add(6);

//返回true;
c.contains("孙悟空");

//返回true,表示删除成功;
c.remove("孙悟空");

//清空c集合的内容,长度变为0;
c.clear();

//返回一个数组;
c.toArray();

使用collection的forEach遍历集合;

collection books = new hashSet();
books.add("西游记");
books.add("水浒传");
books.add("红楼梦");
books.forEach(obj -> System.out.println("迭代集合元素" + obj));

使用Iterator(迭代器)接口遍历集合元素;

collection books = new hashSet();
books.add("西游记");
books.add("水浒传");
books.add("红楼梦");

//获取Iterator迭代器
Iterator it = books.iterator();
it.forEachRemaining(obj -> System.out.println("迭代集合元素" + obj))

使用新增的foreach方法遍历集合

HashSet books = new HashSet();
books.add("西游记");
books.add("水浒传");
books.add("红楼梦");
for(Object obj : books){
	System.out.println("迭代集合元素" + obj);
}

二、set集合(set接口)

1.hashset类

HashSet books = new HashSet();
books.add(Object o)

hashset类的优点在于查找元素的速度快。这得益于它的存储方式,通过的到每个对象的hashCode()的值,利用这个值进行位置的存放。查找时也通过每个对象特有的hashCode()值进行查找;

hashset类是无序的,但不能有重复的元素。判断重复在于两个方法:1. equals()方,返回true; 2.hashcode()值相等。则这两个元素相等,不能进行存放操作。

需要注意的是,如果仅有一个相等时,系统认为是不同的两个元素会对此进行存储。这样违反了set的规则。我们应当避免这种情况出现。

2.TreeSet类

TreeSet books = new TreeSet()
books.add(Obeject o)

TreeSet类是SortedSet接口的实现类,所以元素集合是处于排序状态的

TreeSet类提供了几个方法
1.第一类是查找对应位置的;
2.第二类是截取子TreeSet集合的;
详情查找API;

TreeSet类在每次存入元素时都会调用CompareTo的方法。此方法在两个元素相等时返回0。所以在进行存入操作时只有当返回值为非0的情况才能存入元素,以此保持Set集合的无重复性。

三、List集合(List接口)

1.ArrayList类

List books = new ArrayList();
//此时对应的位置是 0,1,2
books.add("西游记");
books.add("水浒传");
books.add("红楼梦");
//将这个元素添加到指定位置
books.add(1,"三国演义");
//将这个元素替代指定位置的元素
books.set(1,"三国战纪");
//将指定索引的元素删除
books.remov(1);
//截取指定位置的子List集合
books.subList(1,2);
//返回指定索引位置的元素;
books.get(1);
//

ArrayList相比于Vector来说是线程不安全的,所以在平时的开发当中,我们选择ArrayList优于Vector;

四、map集合(map接口)

1.HashMap类

Map map = new HashMap();
//如果已经有key只对应的value,则覆盖原来的key-value对
map.put("0",红楼梦);
map.put("1",西游记);
map.put("2",水浒传);
//成功删除返回true,失败返回false
map.remove("0",红楼梦);
//返回对应的balue,找不到则返回null;
map.get("0");
//把key-value对,存入一个set集合;
map.entrySet();
//把map中所有的key组成一个set集合,返回给一个set集合
map.keySet();

遍历HashMap的操作

//使用jdk5新增的foreach方法进行遍历集合
for(Object obj : map.keySet()){
	System.out.println(obj + "->" + map.get(obj));
}

五、Collections工具类

1.排序操作

1.reverse(List list) 反转指定集合的元素顺序

2.sort(List list) 对map集合进行升序排序

3.swap(List list, int i, int j) 交换集合中i和j位置的元素

2.查找操作

猜你喜欢

转载自blog.csdn.net/weixin_42445650/article/details/88863622