首页 > 编程语言 >Java知识33 集合框架 List接口 Map 和set【多测师】

Java知识33 集合框架 List接口 Map 和set【多测师】

时间:2022-10-26 11:04:38浏览次数:53  
标签:Map set Java 元素 list 接口 遍历 集合

一、Java集合框架
1.Java提供的特设类如:Dictionary Vector Stack和Properties这些类来储存和操作对象组
2.通过这些接口实现集合如:LinkedList HashSet和TreeSet,集合框架是一个用来代表和操纵集合的同一框架,所有的集合包含如下:
接口:是代表集合的抽象数据类型
实现类:集合接口的实现
算法:排序和搜索,这些算法称为多态
除了集合,这个框架定义了几个Map接口和类,Map里储存的是键值对
Java集合提供了一套性能优良,使用方便




二、集合接口
1.Collection接口
Collection是最基本的集合接口,Java不提供直接继承自collection的类,只提供继承于的子接口(List和set)
2.List接口是一个有序的collection,使用这个接口可以精确的控制每个元素插入的位置,能够通过索引(元素在List中位置,类似于数组的下标)来访问List中的元素,第一个元素的索引为0,而且允许有相同的元素
3.set 与collection有一样的接口,只是行为不同,set不保存重复的元素
4.Map 将唯一的键映射到值
5.Map.Entry 描述一个Map中的一个元素 是一个Map的内部类
6.Enumeration传统的接口和定义的方法已被迭代器取代

三、set和list的区别
1.set接口实例是无序,不重复的数据 list接口实例存储是有序可以重复的元素
2.list和数组类似,可以动态增长<实现类有ArrayList,LinkedList,Vector>

四、ArrayList
1.ArrayList实现了list的接口,可随机访问和遍历元素
2.Java.util中定义了类:向量,栈,字典,哈希表,属性,位集合

五、集合算法
1.集合框架定义了几种算法用于集合和映射,定义为集合类的静态方法
2.集合定义三个静态变量:EMPTY_SET EMPTY_LIST EMPTY_MAP

六、如何使用迭代器
1.遍历一个集合中的元素,显示每个元素 一般遍历数组都采用for循环和增强for 但是还有一种方法采用迭代器遍历集合框架,实现了iterator接口或listiterator接口
2.可以通过循环得到和删除集合的元素listiterator继承了iterator,可以允许遍历列表和修改原
3.遍历ArrayList
public class EnumerationTester {
public static void main(String[] args) {
List<String> list = new ArrayList<String>();
list.add("Hello");
list.add("World");
list.add("HAHAHAHA");
// 第一种遍历方法使用foreach遍历List
for (String str : list) { // 也可以改写for(int i=0;i<list.size();i++)这种形式
System.out.println(str);
}

// 第二种遍历,把链表变为数组相关的内容进行遍历
String[] strArray = new String[list.size()];
list.toArray(strArray);
for (int i = 0; i < strArray.length; i++) // 这里也可以改写为 foreach(String str:strArray)这种形式
{
System.out.println(strArray[i]);
}

// 第三种遍历 使用迭代器进行相关遍历

Iterator<String> ite = list.iterator();
while (ite.hasNext())// 判断下一个元素之后有值
{
System.out.println(ite.next());
}
}
}

 



标签:Map,set,Java,元素,list,接口,遍历,集合
From: https://blog.51cto.com/u_15846941/5797411

相关文章

  • Java知识32 数据结构 枚举 向量【多测师】
    一、Java数据结构包含以下几种接口和类:枚举(Enumeration)位集合()向量()栈()字典()哈希表()属性()二、java枚举接口实例演示Enumeration的用法:publicclassEnumerationTest......
  • Java设计模式之单例模式、工厂模式、PO模式【多测师_王sir】
    一)、工厂模式工厂模式(FactoryPattern)是Java中最常用的设计模式之一。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。定义一个创建对象的接口,让其子......
  • java知识31 void 、实例化对象后面带参数、 实例变量(重点)【多测师】
    1.publicstaticvoidmain(String[]args)String[]args为字符串数组的变量名不是关键字2.Java变量局部变量//作用域方法里面类变量(静态变量)//用static修饰符修饰成......
  • Java知识30 package【多测师】
    一、包语句语法格式packagepkg1[.pkg2[.pkg3…]];一个something.Java文件packagenet.java.util;publicclassSomething{...}那么它的路径应该是net/java/util/Somethi......
  • java知识28 Java封装【多测师】
    一、面向对象中,封装是指将抽象性函式接口的实现细节部分包装、隐藏起来的方法1.封装可以被认为是一个屏障,防止该类的代码和数据被外部类定义的代码随机访问2.要访问该类代码......
  • Java知识29 接口【多测师】
    一、接口Java中,接口是一个抽象类型,是抽象方法的集合,接口通常以interface来声明,一个类通过继承接口的方式来继承接口的抽象方法1.接口不是类,编写接口的方式和类相似,类描述对......
  • Java知识27 抽象类【多测师】
    一、在Java中一起都是对象,所有的对象都是通过类来描绘的,但不是所有的类都是用来描绘对象的,一个类中没有足够的信息描绘一个具体的对象就是抽象类特点:1.抽象类不能实例化对象......
  • Java知识26 多态 (重点巩固)【多测师】
    一、多态多态就是同一个行为有多个不同表现形式和形态的能力比如:flash界面按F1按键弹出是AS3帮助文档在Word下弹就是Word帮助二、多态存在的三个必要条件继承、重写、父类......
  • 力扣561(java&python)-数组拆分(简单)
    题目:给定长度为 2n 的整数数组nums,你的任务是将这些数分成 n对,例如(a1,b1),(a2,b2),...,(an,bn),使得从1到 n的min(ai,bi)总和最大。返回该最大......
  • java.sql.SQLException: MONTH 报错解决方法
    idea控制台报错:java.sql.SQLException:MONTHErrorattemptingtogetcolumn'xxx'fromresultset.Cause:java.sql.SQLException:MONTH;MONTH;nestedexceptio......