关于集合

(1) Collection 接口常用的子类有两个:List接口和Set接口
(2) List接口,有序的 collection(也称为序列)。此接口的用户可以对列表中每个元素的插入位置进行精确地控制。用户可以根据元素的整数索引(在列表中的位置)访问元素,并搜索列表中的元素。

package cn.itcast.String;

import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collection;
import java.util.Collections;
import java.util.Iterator;
import java.util.List;

public class ListDemo {
	public static void main(String[] args) {
		function();
	}

	private static void function1() {
		//多态调用
		List<Double> list = new ArrayList<Double>();
		list.add(12.0);
		list.add(11.0);
		list.add(10.0);
		list.add(9.0);
		list.set(3, 1.0);
		list.remove(0);
		//工具类提供的排序方法
		Collections.sort(list);
		System.out.println(list);

	}

	private static void function() {
		List<String> list = new ArrayList<String>();
		list.add("abc1");
		list.add("cbc2");
		list.add("bbc3");
		list.add("dbc4");

		/*
		 * //使用迭代器获取集合中的元素 Iterator<String> it = list.iterator();
		 * while(it.hasNext()){ String s = it.next(); if(s.equals("abc1")){
		 * list.set(2, "a"); }
		 */
		Collections.sort(list);
		for (String s : list) {
			System.out.println(s);
		}
	}
}

(3) Set接口,一个不包含重复元素的 collection。不允许存放重复的元素,而List接口中允许存放重复的元素。

package cn.itcast.Set;

import java.util.HashSet;
import java.util.Iterator;
import java.util.Set;

/*
 * set接口,特点不重复元素
 * 无索引
 */
public class SetDemo {
	public static void main(String[] args) {
		Set<String> set = new HashSet<String>();
		set.add("cn");
		set.add("itcast");
		set.add("itheima");
		set.add("java");

		Iterator<String> it = set.iterator();
		while (it.hasNext()) {
			System.out.println(it.next());
		}
		System.out.println("====================");
		for (String i : set) {
			System.out.println(i);
		}
	}
}

(4)List接口常用的子类有ArrayList和Linkedlist,其中Linkedlist采用链表的形式存储元素,增删快,但是查询效率低,并且Linkedlist类提供了大量的首尾操作的方法,如
(a) void addFirst(E e)
将指定元素插入此列表的开头。
(b) void addLast(E e)
将指定元素添加到此列表的结尾。

(5)Set接口常用的两个实现类是HashSet(无序,允许存在null元素,无索引一说)和LinkedHashSet
这里有个重要的知识点:哈希表的存储过程
在这里插入图片描述
图片用了老师画的
这里sun公司官方规定了,只要两个对象的equails方法返回值为true,则两个对象的哈希值一定相同

LinkedHashSet继承自HashSe,自身特性有:
具有顺序(比较异类?),存储顺序和取出顺序一样

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
关于Python中集合的语法,以下是一些常用操作: 1. 创建集合: 使用大括号 `{}` 或者使用 `set()` 函数来创建一个空集合。 例如:`my_set = {1, 2, 3}` 或者 `my_set = set([1, 2, 3])` 2. 添加元素: 使用 `.add()` 方法来向集合中添加一个元素。 例如:`my_set.add(4)` 3. 删除元素: 使用 `.remove()` 方法来删除集合中的指定元素。 例如:`my_set.remove(2)` 4. 集合运算: - 并集:使用 `|` 或者 `.union()` 方法。 例如:`union_set = set1 | set2` 或者 `union_set = set1.union(set2)` - 交集:使用 `&` 或者 `.intersection()` 方法。 例如:`intersection_set = set1 & set2` 或者 `intersection_set = set1.intersection(set2)` - 差集:使用 `-` 或者 `.difference()` 方法。 例如:`difference_set = set1 - set2` 或者 `difference_set = set1.difference(set2)` - 对称差集:使用 `^` 或者 `.symmetric_difference()` 方法。 例如:`symmetric_difference_set = set1 ^ set2` 或者 `symmetric_difference_set = set1.symmetric_difference(set2)` 5. 集合方法: - `.add(element)`:向集合中添加元素。 - `.remove(element)`:从集合中删除指定元素,如果元素不存在会引发 KeyError。 - `.discard(element)`:从集合中删除指定元素,如果元素不存在不会引发错误。 - `.clear()`:清空集合中的所有元素。 - `.copy()`:复制集合。 - `.pop()`:随机删除并返回集合中的一个元素。 - `.update(other_set)`:将另一个集合的元素添加到当前集合中。 - `.union(other_set)`:返回两个集合的并集。 - `.intersection(other_set)`:返回两个集合的交集。 - `.difference(other_set)`:返回两个集合的差集。 - `.symmetric_difference(other_set)`:返回两个集合的对称差集。 这些是关于Python集合的一些基本操作和方法,希望能对你有所帮助!如果你有更多关于集合的问题,请随时提问。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值