java基础_集合List与Set接口
- List接口继承了Collection的方法 当然也有自己特有的方法向指定位置添加元素 add(索引,添加的元素);
- 移除指定索引的元素 remove(索引)
- 修改指定索引的元素 set(索引,修改的元素)
package com.List集合;import java.util.ArrayList; import java.util.List;public class Demo01 {public static void main(String[] args) {/** add(索引,插入的元素)方法*/List<String> list = new ArrayList<>();list.add("a");list.add("b");list.add("c");list.add(1, "q");System.out.println(list);/** 元素修改set(索引,修改的元素)*/list.set(0, "w");System.out.println(list);list.remove(0);System.out.println(list);list.remove("b");System.out.println(list);}}
- ArrayList集合 在这里我就不多介绍了 (查找元素快,增删慢)
- LinkedList集合 (查找元素慢,增删快)
- LinkedList集合几个方法需要掌握
- addFrist() 在集合的首部添加元素
- addLast() 在集合的尾部添加元素
- removeFirst() 移除集合首部的元素
- removeLast() 移除集合尾部的元素
- getFrist() 获取集合首部的元素
- getLast() 获取集合尾部的元素
- isEmpty() 判断集合是否为空
LinkedList<String> linkedList = new LinkedList<>();linkedList.add("a");linkedList.add("a");linkedList.add("b");linkedList.add("a");linkedList.addFirst("0");linkedList.addLast("9");System.out.println(linkedList);linkedList.removeLast();System.out.println(linkedList);linkedList.removeFirst();System.out.println(linkedList);String first = linkedList.getFirst();System.out.println(first);String last = linkedList.getLast();System.out.println(last);boolean b = linkedList.isEmpty();System.out.println(b);
- Set接口(无序,不重复的)
- 我们直接学习HashSet接口
- HashSet当你存储相同元素时,是添加不进去的 他会判断集合中是否存在,这里我们用自定义的引用类型说明
package com.Set集合;public class Person {private String name;private int age;public String getName() {return name;}public void setName(String name) {this.name = name;}public int getAge() {return age;}public void setAge(int age) {this.age = age;}public Person(String name, int age) {super();this.name = name;this.age = age;}public Person() {super();// TODO Auto-generated constructor stub }@Overridepublic int hashCode() {final int prime = 31;int result = 1;result = prime * result + age;result = prime * result + ((name == null) ? 0 : name.hashCode());return result;}@Overridepublic boolean equals(Object obj) {if (this == obj)return true;if (obj == null)return false;if (getClass() != obj.getClass())return false;Person other = (Person) obj;if (age != other.age)return false;if (name == null) {if (other.name != null)return false;} else if (!name.equals(other.name))return false;return true;}@Overridepublic String toString() {return "Person [name=" + name + ", age=" + age + "]";}}
这里注意我们需要重写HashClod方法与equlas()方法 当然在打印的时候需要重写toString()方法
public static void main(String[] args) {HashSet<Person> hashSet = new HashSet<>();hashSet.add(new Person("张三",12));hashSet.add(new Person("李四",12));hashSet.add(new Person("张三",12));hashSet.add(new Person("张三",21)); // System.out.println(hashSet);Iterator<Person> iterator =hashSet.iterator();while(iterator.hasNext()){Person next = iterator.next();System.out.println(next);}} }//执行结果为:张三 12 李四 12 张三 21
- 这就是HashSet的去重复元素的功能 结果是无序的
- Set接口下还有一个LinkedHashSet集合,这是弥补了Set无序的缺点
public class Demo02_LinkedHashSet {public static void main(String[] args) {LinkedHashSet<String> hashSet = new LinkedHashSet<>();hashSet.add("a");hashSet.add("b");hashSet.add("c");hashSet.add("d");//增强for遍历for (String string : hashSet) {System.out.print(string+" ");}//迭代器遍历 Iterator<String> iterator = hashSet.iterator();while(iterator.hasNext()){String str = iterator.next();System.out.println(str);}System.out.println(hashSet);}
转载于:https://www.cnblogs.com/hd976521/p/6242497.html
java基础_集合List与Set接口相关推荐
- Java基础_集合_List与Set集合(笔记)
文章目录 List List集合概述 Listlterator listerator:列表迭代器 listerator常用方法: Arraylist与Linkedlist 两者的异同 ArrayLis ...
- Java基础_集合框架1
一.集合框架(体系概述) 为什么会出现集合框架(集合类)? 面向对象语言对事物的体现都是以对象的形式,所以为了方便对多个对象的操作,就对对象进行存储,集合就是存储对象最常用的一种方式. 数组和集合框架 ...
- java基础_集合框架
集合:例如 偶数.水仙花数.奇数,班集体 都属于集合 还有{"111","sss",aaa"}也是集合 集合框架JCF(java collection ...
- Thinking in java基础之集合框架
Thinking in java基础之集合框架 大家都知道我的习惯,先上图说话. 集合简介(容器) 把具有相同性质的一类东西,汇聚成一个整体,就可以称为集合,例如这里有20个苹果,我们把每一个苹果当成 ...
- java把map值放入vector_Thinking in java基础之集合框架
Thinking in java基础之集合框架 大家都知道我的习惯,先上图说话. 集合简介(容器) 把具有相同性质的一类东西,汇聚成一个整体,就可以称为集合,例如这里有20个苹果,我们把每一个苹果当成 ...
- java基础 ArrayList集合基本方法演示
java基础 ArrayList集合基本方法演示 import java.util.ArrayList; import java.util.Iterator;public class ArrayLis ...
- 第二十八节:Java基础-进阶继承,抽象类,接口
前言 Java基础 - 进阶继承,抽象类,接口 进阶继承 class Stu {int age = 1; } class Stuo extends Stu {int agee = 2; } class ...
- JAVA基础-06.集合-14.【List、Set】
01_数据结构_栈&队列 02_数据结构_数组 03_数据结构_链表 04_数据结构_红黑树 05_HashSet集合存储数据的结构(哈希表) 06_Set集合存储元素不重复的原理 day03 ...
- 《回炉重造 Java 基础》——集合(容器)
整体框架 绿色代表接口/抽象类:蓝色代表类. 主要由两大接口组成,一个是「Collection」接口,另一个是「Map」接口. 前言 以前刚开始学习「集合」的时候,由于没有好好预习,也没有学好基础知识 ...
最新文章
- linux ulimit 永久生效设置方法
- 如果你选择城市创业的话,可以先从小本生意做起
- Promise.all和Promise.race区别,和使用场景
- 电脑数据丢失,如何才能够快速将被删的数据文件恢复找回?
- python Web开发你要理解的WSGI uwsgi详解
- 三维平面叠加图_无人机倾斜摄影技术在三维实景GIS的应用
- 【Android】科大讯飞——语音识别
- Java打印26个字母
- Maya及UE4的 ART相关
- arduino烧录_用Arduino UNO烧录Attiny85芯片
- elementui 表格序号el-table自定义序号事件
- 英语聊天时“好的”、“我知道了”、“收到”、“嗯嗯”之类的怎么说?
- python--基础知识点--继承、多态、鸭子类型
- 计算机一级降序和升序,sql语句降序和升序
- dyndns免费动态域名
- 解决按键精灵助手无法连接Android手机的问题
- 最新免费ChatGPT中文镜像网站+整理了20多个-持续更新
- 安装Win11找不到固态硬盘如何解决?
- Web前端工程师知识体系大全,Web前端入门基础体系
- Android魅族等手机下拉刷新有留白(下拉悬停)
热门文章
- 《恋上数据结构第1季》集合 ListSet、TreeSet、HashSet
- 无法进入页面,且浏览器调试界面->Timing报CAUTION:request is not finished yet!
- 那些年学过的Hibernate笔记
- Java连接并操作SQLServer数据库
- 软件_聚合搜索引擎[博]
- GA遗传算法(Genetic Algorithm)
- 写给数据小白:怎么让你的分析结论超出预期,不再是废纸一堆
- AfxMessageBox
- python中函数用法教程_Python中zip()函数用法实例教程
- php7 php5 区别,php7与php5的区别有哪些?