1. Introdução
Uma coleção se refere a uma coleção de objetos concretos ou abstratos com certas propriedades. Entre eles, esses objetos que constituem o conjunto são chamados de elementos do conjunto. Ou seja: um todo composto de um ou mais certos elementos.
Em segundo lugar, o papel
存储对象的容器,将容器添加标签,使其只能存储某种对象类型。
3. Recursos
- Só pode ser usado para armazenar objetos;
- Armazenado é uma referência ao objeto;
- Pode armazenar diferentes tipos, número ilimitado de tipos de dados;
Quarto, a diferença entre coleção e matriz
长度区别:
- Array corrigido
- Coleção variável
内容区别:
- A matriz pode ser um tipo de dados básico ou um tipo de dados de referência
- A coleção é um tipo de dado de referência
元素内容:
- Matrizes só podem armazenar o mesmo tipo
- As coleções podem armazenar diferentes tipos
5. Classificação (de acordo com a interface implementada)
resumo:
- Conjunto: coleção não ordenada e não repetível;
- Lista: coleção ordenada e repetível;
- Mapa: mapeamento de par de valores-chave, a chave é única, o valor não é único;
Seis, tipo detalhado
conjunto
1. Introdução O
elemento set garante que a exclusividade do elemento depende dos métodos equal () e hashCode (). Quando esses dois métodos não são substituídos no elemento criado, ninguém chama esses dois métodos na classe Object. Por padrão , o método object () compara se os valores de endereço são iguais.
2. Recursos
Recursos: coleção não ordenada e não repetível;
3.
HashSet de classificação , TreeSet, LeakedHashSet
4. Tipo
Recursos do HashSet (1):
- Chame hashCode () para ver o mesmo valor de hash,
- Chame equals () para comparar com novos elementos e remover duplicatas (implementação do algoritmo de hash subjacente, alta eficiência)
(2) Uso
- Crie um objeto de coleção (List é uma interface, instancie a interface criando um objeto de subclasse), Set set = new HashSet ()
- Criar objeto de elemento
- Adicione elementos à coleção, adicione ()
- Faça um loop pela coleção e saída
(3) Traverse
- Normal para loop
- Aprimorado para loop
- Iterator
public class Hast {
public static void main(String[] args) {
// Set set=new HashSet();//另一种调用集合方法
// set.add("as");
// set.add(12);
// System.out.println(set);
Set<Object> set1=new HashSet<Object>();//object为所有类的父类,就是说set里面可以添加任何类型元素
set1.add(12);
set1.add(21);
set1.add("ss");//添加元素
System.out.println(set1);
set1.remove(12);//移除元素,显示剩余元素
System.out.println(set1);
System.out.println(set1.contains(12));//判断集合是否包含该元素
set1.add(true);
int ss=set1.size();//显示集合中有多少元素
System.out.println(ss);
Iterator sl=set1.iterator();//使用迭代器遍历集合
while (sl.hasNext()) {
System.out.println(sl.next());
}
//for each迭代数据
for (Object obj : set1) {
//把set的每一个数据取出来赋值给obj,直到循环结束
System.out.println(obj);
}
Set<String> set2=new HashSet<String>();//指定集合中只能放string数据类型
set2.add("s1");
set2.clear();//清空集合
set2.add("s2");
System.out.println(set2);
}
}
Recursos do TreeSet : organiza automaticamente os elementos em ordem crescente (implementação da árvore binária subjacente)
public class Tset {
public static void main(String[] args) {
Set<Object> ss=new TreeSet<Object>();
ss.add("a");
ss.add("c");
ss.add("a");
ss.add("s");
ss.add("o");
System.out.println(ss);//按照自然排序
Set<Integer> ss1=new TreeSet<Integer>();
ss1.add(2);
ss1.add(1);
ss1.add(4);
ss1.add(3);
for (Integer i:ss1) {
System.out.println(i);
}
}
}
Lista
1. Recursos
Recursos: coleções ordenadas e repetíveis
2. Classified
ArrayList, LinkedList, Vector
3. Tipos
ArrayList
(1) Recursos: array dinâmico inferior, consulta rápida, adição e exclusão lentas (mesmo array), thread inseguro, alta eficiência.
(2) Uso
- Crie um objeto de coleção (List é uma interface, a instanciação da interface é concluída criando um objeto de subclasse), List list = new ArrayList ()
- Criar objeto de elemento
- Adicione elementos à coleção, adicione ()
- Faça um loop na coleção e na saída; o iterador deve ser implementado chamando o iterador de lista durante a iteração.
public class ALise {
public static void main(String[] args) {
List<String> list=new ArrayList<String>();//指定插入集合类型为string
list.add("d");
list.add("e");//list允许元素重复
list.add("a");
list.add("d");
list.add("q");
list.add("k");
System.out.println(list);
System.out.println(list.get(2));//通过索引下标来访问指定位置元素
list.add(0,"e");//在指定索引下标位置插入数据
System.out.println(list);
System.out.println(list.indexOf("d"));//获取指定元素在集合中第一次出现的索引下标
System.out.println(list.lastIndexOf("d"));//获取指定元素在集合中最后一次出现的索引下标
list.set(1, "w");//根据指定的索引下标修改元素
List<String> seList=list.subList(1, 4);取索引下标在大于等于2小于4的元素
System.out.println(seList);
System.out.println(list.size());
}
}
Recursos de LinkedList : a camada inferior é um link, a consulta é lenta, a adição e exclusão são rápidas, o thread não é seguro e a eficiência é alta. Recursos do
vetor
: consulta rápida, adição e exclusão lentas, segurança de thread e baixa eficiência.
Mapa
1. Função: usada para dados com relação de mapeamento
2 、 分类 : HashMap 、 Hashtable 、 TreeMap
3. Digite
HashMap
(1) Características: A camada inferior é o cálculo e distribuição de hash, que é direcionado às chaves
(2) Uso
- Crie um objeto de coleção, Map <Interger, Object> map = new HashMap <> ();
- Criar objeto de elemento
- Adicione elementos à coleção, put ()
- Faça um loop pela coleção e pela saída: 1. Obtenha a chave de todos os elementos: keySet (); 2. Percorra o keySet: iterator (); 3. Obtenha o valor por chave: get ().
Recursos do TreeMap : a camada inferior é um algoritmo de árvore binária, com chaves de segmentação
public class Test6 {
public static void main(String[] args) {
Map<String, Integer> map = new HashMap<String, Integer>();
map.put("b", 1);//添加数据
map.put("c", 2);
map.put("e", 2);
System.out.println(map);
System.out.println(map.get("b"));//根据key取值
map.remove("c");//根据key移除键值对
System.out.println(map);
//
System.out.println(map.size());//map集合的长度
System.out.println(map.containsKey("a"));//判断当前的map集合是否包含指定的key
System.out.println(map.containsValue(10));//判断当前的map集合是否包含指定的value
// map.clear();//清空集合
Set<String> keys = map.keySet();//获取map集合的key的集合
map.values();//获取集合的所有value值
//遍历map集合,通过map.keySet();
for(String key : keys){
System.out.println("key: " + key + ", value: " + map.get(key));
}
//通过map.entrySet();遍历map集合
Set<Entry<String, Integer>> entrys = map.entrySet();
for(Entry<String, Integer> en : entrys){
System.out.println("key: " + en.getKey() + ", value: " + en.getValue());
}
//TreeMap的自然排序是字典排序
Map<Integer,String> map1 = new TreeMap<Integer, String>();
map1.put(4, "a");
map1.put(2, "a");
map1.put(3, "a");
map1.put(1, "a");
System.out.println(map1);
Map<String,String> map2 = new TreeMap<String, String>();
map2.put("b", "b");
map2.put("c", "c");
map2.put("d", "d");
map2.put("a", "a");
map2.put("ab", "ab");
map2.put("1", "ab");
map2.put("10", "ab");
System.out.println(map2);
}
}
Sete, ferramentas
1. Função
Operar Definir, Listar, Mapear, classificar, consultar, modificar e outras operações; também fornecer métodos para definir objetos de coleção imutáveis e alcançar o controle de sincronização para objetos de coleção;
2. Métodos de membros comuns
função | efeito |
---|---|
reverso (Lista) | Inverta a ordem dos elementos na coleção |
embaralhar (Lista) | Classificar aleatoriamente os elementos da coleção |
classificar (Lista) | Ascendente |
classificar (Lista , Comparador) | Classifique a coleção de acordo com a ordem do comparador especificado |
troca (lista, int, int) | O elemento em i e o elemento em j do conjunto especificado são trocados |
Object max (coleção) | De acordo com a ordem natural dos elementos, retorna o maior elemento no conjunto dado |
Object max (coleção, comparador) | De acordo com a ordem especificada pelo Comparador, retorna o maior elemento no conjunto fornecido |
Objeto min (coleção) | Retorna o menor elemento no conjunto fornecido |
Objeto min (coleção , comparador) | De acordo com a ordem especificada pelo Comparator, retorna o menor elemento no conjunto fornecido |
frequência interna (coleção , objeto) | Retorna o número de ocorrências do elemento especificado na coleção especificada |
boolean replaceAll (lista de lista, objeto oldVal, objeto newVal) | Substitua todos os valores antigos do objeto Lista por novos valores |
public class Test7 {
public static void main(String[] args) {
List<String> list = new ArrayList<String>();
list.add("b");
list.add("cd");
list.add("ca");
list.add("a");
list.add("a");
list.add("1");
System.out.println(list);
Collections.reverse(list);//反转 List 中元素的顺序
System.out.println(list);
Collections.shuffle(list);//对 List 集合元素进行随机排序
System.out.println(list);
//
Collections.sort(list);//list集合字典升序排序
System.out.println(list);
System.out.println(Collections.frequency(list, "x"));//返回指定集合中指定元素的出现次数
Collections.replaceAll(list, "b", "bb");//使用新值替换 List 对象的所有旧值
System.out.println(list);
Collections.swap(list, 0, 4);//将指定 list 集合中的 i 处元素和 j 处元素进行交换
System.out.println(list);
System.out.println(Collections.max(list));//list中最大值
System.out.println(Collections.min(list));//list中最小值
}
}