1. List接口继承了Collection的方法  当然也有自己特有的方法向指定位置添加元素   add(索引,添加的元素);
  2. 移除指定索引的元素   remove(索引)
  3. 修改指定索引的元素   set(索引,修改的元素)
  4. 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);}}

  5. ArrayList集合  在这里我就不多介绍了   (查找元素快,增删慢)
  6. 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接口相关推荐

  1. Java基础_集合_List与Set集合(笔记)

    文章目录 List List集合概述 Listlterator listerator:列表迭代器 listerator常用方法: Arraylist与Linkedlist 两者的异同 ArrayLis ...

  2. Java基础_集合框架1

    一.集合框架(体系概述) 为什么会出现集合框架(集合类)? 面向对象语言对事物的体现都是以对象的形式,所以为了方便对多个对象的操作,就对对象进行存储,集合就是存储对象最常用的一种方式. 数组和集合框架 ...

  3. java基础_集合框架

    集合:例如 偶数.水仙花数.奇数,班集体 都属于集合 还有{"111","sss",aaa"}也是集合 集合框架JCF(java collection ...

  4. Thinking in java基础之集合框架

    Thinking in java基础之集合框架 大家都知道我的习惯,先上图说话. 集合简介(容器) 把具有相同性质的一类东西,汇聚成一个整体,就可以称为集合,例如这里有20个苹果,我们把每一个苹果当成 ...

  5. java把map值放入vector_Thinking in java基础之集合框架

    Thinking in java基础之集合框架 大家都知道我的习惯,先上图说话. 集合简介(容器) 把具有相同性质的一类东西,汇聚成一个整体,就可以称为集合,例如这里有20个苹果,我们把每一个苹果当成 ...

  6. java基础 ArrayList集合基本方法演示

    java基础 ArrayList集合基本方法演示 import java.util.ArrayList; import java.util.Iterator;public class ArrayLis ...

  7. 第二十八节:Java基础-进阶继承,抽象类,接口

    前言 Java基础 - 进阶继承,抽象类,接口 进阶继承 class Stu {int age = 1; } class Stuo extends Stu {int agee = 2; } class ...

  8. JAVA基础-06.集合-14.【List、Set】

    01_数据结构_栈&队列 02_数据结构_数组 03_数据结构_链表 04_数据结构_红黑树 05_HashSet集合存储数据的结构(哈希表) 06_Set集合存储元素不重复的原理 day03 ...

  9. 《回炉重造 Java 基础》——集合(容器)

    整体框架 绿色代表接口/抽象类:蓝色代表类. 主要由两大接口组成,一个是「Collection」接口,另一个是「Map」接口. 前言 以前刚开始学习「集合」的时候,由于没有好好预习,也没有学好基础知识 ...

最新文章

  1. linux ulimit 永久生效设置方法
  2. 如果你选择城市创业的话,可以先从小本生意做起
  3. Promise.all和Promise.race区别,和使用场景
  4. 电脑数据丢失,如何才能够快速将被删的数据文件恢复找回?
  5. python Web开发你要理解的WSGI uwsgi详解
  6. 三维平面叠加图_无人机倾斜摄影技术在三维实景GIS的应用
  7. 【Android】科大讯飞——语音识别
  8. Java打印26个字母
  9. Maya及UE4的 ART相关
  10. arduino烧录_用Arduino UNO烧录Attiny85芯片
  11. elementui 表格序号el-table自定义序号事件
  12. 英语聊天时“好的”、“我知道了”、“收到”、“嗯嗯”之类的怎么说?
  13. python--基础知识点--继承、多态、鸭子类型
  14. 计算机一级降序和升序,sql语句降序和升序
  15. dyndns免费动态域名
  16. 解决按键精灵助手无法连接Android手机的问题
  17. 最新免费ChatGPT中文镜像网站+整理了20多个-持续更新
  18. 安装Win11找不到固态硬盘如何解决?
  19. Web前端工程师知识体系大全,Web前端入门基础体系
  20. Android魅族等手机下拉刷新有留白(下拉悬停)

热门文章

  1. 《恋上数据结构第1季》集合 ListSet、TreeSet、HashSet
  2. 无法进入页面,且浏览器调试界面->Timing报CAUTION:request is not finished yet!
  3. 那些年学过的Hibernate笔记
  4. Java连接并操作SQLServer数据库
  5. 软件_聚合搜索引擎[博]
  6. GA遗传算法(Genetic Algorithm)
  7. 写给数据小白:怎么让你的分析结论超出预期,不再是废纸一堆
  8. AfxMessageBox
  9. python中函数用法教程_Python中zip()函数用法实例教程
  10. php7 php5 区别,php7与php5的区别有哪些?