8 de notas de estudo de Java

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)

Insira a descrição da imagem aqui
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中最小值
		
	}
}

Acho que você gosta

Origin blog.csdn.net/qq_45913017/article/details/112998890
Recomendado
Clasificación