Java语言学习-数据结构接口

Mediapipe姿态估计——用坐标计算手指关节弯曲角度并实时标注 利用mediapipe搭建姿态检测模型;mediapipe人体标注节点坐标;mediapipe计算手指弯曲角度并实时渲染;mediapipe计算关节弯曲角度。mediapipe手势识别;mediapipe姿态检测模型;mediapipe学习。 阅读详情

1.Collection接口

常用的有两种:

1.List接口下常用实现类

List接口下常用实现类有那些?它们之间的区别?

ArrayList: 相当于一个数组,但是它是一个可变的数组.方便我们查询数据,增删操作不健全.

LinkedList:采用链表方式进行存储,方便我们修改元素数据., 对增删进行了加强.

Vector: 和ArrayList基本一样,但是它是线程安全的.

注意: List接口下包含重复元素.

2.Set接口下常用实现类

Set接口下常用实现类有那些?它们之间的区别?

HashSet: 无序的,不可重复的

TreeSet : 按自然顺序排列的,不可重复的,但是其保存的数据必须有办法比较

对List 和 Set接口进行代码验证:

package cn.pcl.List;

import java.util.ArrayList;
import java.util.LinkedList;
import java.util.ListIterator;

/**
 * 本段对list接口下实现类进行验证.
 */
public class TestList {

	public static void main(String[] args) {
		// ArrayList 验证: 1.添加数据 2.删除数据 3.修改数据 4.查询数据
		ArrayList<Integer> intArrList = new ArrayList<Integer>(); // 注意基本数据类型使用封装类进行泛型匹配
		// 1.添加数据 1876635
		intArrList.add(1); intArrList.add(7); intArrList.add(1, 8);
		intArrList.add(6); intArrList.add(6); intArrList.add(3); intArrList.add(5);
		// 2.删除数据 3
		intArrList.remove(5); // 使用位置删除
		// 3.修改数据 8-3 set(位置, 修改成什么)
		intArrList.set(1, 3);
		// 4.查询数据 8的位置 7的位置
		int i=-1;
		if((i=intArrList.indexOf(8)) != -1) {
			System.out.println("8首次出现的位置是: " + i);
		} else {
			System.out.println("没有查询到:8");
		}
		
		if((i=intArrList.indexOf(7)) != -1) {
			System.out.println("7首次出现的位置是: " + i);
		} else {
			System.out.println("没有查询到:7");
		}
		// 5.循环输出
		for(i=0; i<intArrList.size(); i++) {
			System.out.print(intArrList.get(i));
		}
		System.out.println();
		//-----------------------------------------ArrayList验证完成--------
		// LinkedList 验证: 1.添加数据 2.删除数据 3.修改数据 4.查询数据
		LinkedList<Integer> intLinked = new LinkedList<Integer>(intArrList); 
		// 1.添加数据 1
		intLinked.add(1);
		// 2.删除数据 6 使用元素值进行删除
		intLinked.remove((Integer)6);
		// 3.修改数据 位置5->9 set(位置, 修改成什么)
		intLinked.set(5, 9);
		// 4.查询5首次出现的位置
		if((i=intLinked.indexOf(5)) != -1) {
			System.out.println("5首次出现的位置是: " + i);
		} else {
			System.out.println("没有查询到:5");
		}
		// 5.循环输出
		ListIterator<Integer> inedx = intLinked.listIterator();
		while(inedx.hasNext()) {
			System.out.print(inedx.next());
		}
	}

}

set验证

package cn.pcl.set;

import java.util.TreeSet;
import java.util.Iterator;

public class TestTreeSet {

	public static void main(String[] args) {
		TreeSet<String> strTree = new TreeSet<String>();
		// 添加元素
		if(!strTree.add("A")){
			System.out.println("添加失败:A");
		}; 
		if(!strTree.add("B")){
			System.out.println("添加失败:B-1");
		}; 
		if(!strTree.add("C")){
			System.out.println("添加失败:C");
		}; 
		if(!strTree.add("B")){
			System.out.println("添加失败:B-2");
		}; 
		if(!strTree.add("BA")){
			System.out.println("添加失败:BA");
		}; 
		// 删除元素
		if( !strTree.remove("C")) { System.out.println("不存在这样的元素");};
		// 没有修改指定元素啊
		// 查询数据,floor测试
		System.out.println(strTree.floor("B"));
		// 循环遍历
		 Iterator<String> iterator = strTree.iterator();
		 while(iterator.hasNext()) {
			 System.out.print(iterator.next());
		 }
	}

}


2.Map接口

以后再写到看教程的时间了


baostock实战:如何用Python批量下载多只股票的历史数据(含常见错误排查) 本文详细介绍了如何使用Python和baostock库批量下载多只股票的历史数据。内容涵盖从环境搭建、代码标准化到构建稳健的批量下载框架的全过程,并重点提供了高级错误处理、网络重试、数据验证及内存管理等实战解决方案,帮助用户高效构建股票数据处理流水线。 阅读详情

相关推荐

MacBook用户必看:用Homebrew一键搞定frp内网穿透(含阿里云配置模板)

本文为MacBook用户提供基于Homebrew的frp内网穿透实战指南,详细介绍了从环境准备到阿里云服务器配置的全过程。通过Homebrew一键安装frp客户端,结合阿里云配置模板,实现高效稳定的内网穿透,适用于远程开发、IoT设备调试等多种场景。

weixin_28692817的博客 321

Java——数据结构接口

Java——数据结构接口基本结构:1)Collection集合接口:1.List接口:*LinkedList:链表类*ArrayList:数组列表类2.Set接口:*HashSet集合类*TreeSet集合类3.Map映射接口:*Hashtable散列表类*HashMap散列映射类2)Iterator迭代器接口:实现各种集合元素的读取。迭代器的作用:迭代器模式:由以下角色组成。迭代器模式给容器的应...

一个努力学习的程序猿 1666

嵌入式C开发必备:用Cursor规则搞定代码风格检查(附Pikachu项目实战)

本文以Pikachu开源项目为例,详细介绍了如何利用Cursor的AI代理规则系统,为嵌入式C开发项目配置一套完整的代码风格检查与规范执行方案。通过实战演示,指导开发者创建项目级规则,实现命名、格式、硬件抽象层及驱动开发的自动化规范,从而提升代码一致性、可维护性和团队协作效率。

weixin_29181861的博客 598

Java中的数据结构 | 常用API

本文章用于记录使用Java语言学习算法和数据结构过程中,遇到的一些必须掌握的JavaSE知识点。同时会不定期分析相关源码,以及扩展算法相关的内容。

Fqxiny的博客 701

从触觉到视觉:GelSight传感器的工作原理与实战应用指南

本文深入解析了GelSight光学触觉传感器的核心工作原理,它通过将物理接触转化为视觉图像,为机器人提供了高精度的触觉感知。文章详细介绍了其在工业微观缺陷检测、机器人灵巧操作等领域的实战应用,并提供了从系统搭建到算法开发的完整指南,帮助工程师将这一前沿技术落地于实际项目。

solidity8miner的博客 939

MatLab Desired port was :31515解决方案

前言:使用的MatLabR2022b今天突然出现了错误,在程序中打不开文件。后尝试了下面的方法,可以解决。后面还有另一种方法,上面方法如果行不通,大家可以尝试一下。搜索栏输入:firewall.cpl。找到相关项,右键属性,设置为允许。

qq_42212501的博客 1339

java数据结构和他们的API

数据结构(java篇): 内容要求:这一部分需要自己先去学习一遍数据结构,然后自己写出来。掌握之后,再去查看api文档,最后学会如何使用api里的数据结构写算法。下面介绍的主要是每个数据结构与api的对应方式。此文为初级算法总结的子篇第三章——数据结构。 1、基础数组、线性表: (1)数组: Java数组的定义:int[] arr = new int[n]; ...

likunkun__的博客 1748

比较器和运算放大器-2

今天继续了解输入阻抗问题,观察下图:首先考虑在我们没有接运放时,A点输出电压为6V,当接入如图所示的阻抗时电压还是6V吗?共模电阻和红框内对地电阻并联,阻值变小,相当于5k,通过计算可以求得A点电压变为4V,这样A的值发生了改变,试想一下这样的信号接入到运放的两端是不是相当于比较的两端信号发生了改变,那结果一定会发生偏离。信号源一般内阻是不确定的,一般也不是很小,如果不想改变输入阻抗,那唯一的办法就是改变运放的内阻了,比如内阻改为100K,1M等,越大越好,是不是A点电压就会无限接近6V。

weixin_42855218的博客 1311

数据结构(java语言)学习(一)

数据结构(java) 算法分析 算法是为求解一个问题需要遵循的、被清楚指定的简单指令集合。对于一个问题,一旦我们确定了某种算法的正确性,那么最重要的一步就是确定该算法将需要的时间和空间资源量的问题。 数学基础 对于数学基础上,我们主要应用的是对于算法资源消耗的分析,主要有计算时间、控件资源等 相对增长率便是应用到算法分析时候的重要的度量 大O标记法O(N2)等等 典型的增长率如下 接下来说一下要...

fy_fy_fy_fy的博客 188

值得苦练的100道Python经典练手题(全网最全,附详细答案,建议收藏)

这100道Python练习题涵盖了从基础语法到高级算法、从数据库操作到Web开发的各个方面,是备考数据库系统工程师的绝佳素材。建议按照章节顺序逐一练习,遇到难点可反复钻研,真正掌握每一道题背后的知识点。通过这些练习,不仅能提升Python编程能力,还能加深对数据库系统原理的理解,为考试和实际工作打下坚实基础。

yue_yun_的博客 9391

Android 13.0 设置默认屏幕亮度百分比

在13.0的系统ROM产品开发中,在一些产品开发中,对于设置默认屏幕亮度和屏幕亮度百分比的功能,在开发中也是常见的功能,在10.0的平台设置可能有一些不同,一般的都是在SettingProvider中设置就可以了 在11.0以后的系统中设置默认屏幕亮度的方法就不同了,接下来具体分析功能的实现

安卓兼职framework和app工程师的博客 1560

Java - 常用数据结构,以及对应接口

栈(Stack): // 构造方法 Stack<E> stack = new Stack<>(); // 增 E item = stack.push(E item);// 入栈 // 删 E item = stack.pop();// 出栈 // 查 E item = stack.peek();// 查看栈顶元素 int size = stack.size();//...

宋卓的博客 603

14.建立时间、保持时间以及vivado时序report的参考使用

在设计数字系统时,需要仔细考虑电路元件的选择和布局以及时序设计来满足建立时间和保持时间的要求。建立时间,又称为建立时间窗口或建立期,是指数字信号在触发器的时钟信号前沿到来之前,必须已经稳定存在的时间。在本章节将结婚扫建立时间和保持时间的基本原理,以及如何通过vivado处理建立时间和保持时间。通过使用同步电路,可以更好地控制数据传输的时序并满足建立时间和保持时间的要求。例如,在D触发器中,选择具有适当充电和放电特性的D端口元件可以确保在时钟信号前沿到达前数据已经稳定存在,并在时钟信号前沿到达后保持稳定。

FPGA/MATLAB学习教程/源码/项目合作开发 2986

Day17 案例_发红包plus

第一阶段总结: Java语言入门的11个课时已学成 下阶段从基础开始,学习算法与数据结构 综合案例要求 已提供了 RedPacketFrame 的图形界面文件,学会分析并使用其设置接口 功能方面的代码只需要编写 OpenMode,分为平均和随机两种发红包模式,接口代码已给出 import java.util.ArrayList; import java.util.Rand...

qq_31707969的博客 344

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

Outlook Express 6 (OE6) for Win7/Win8/Win10

英文版 Outlook Express6.0, 兼容Win7/Win10/WinXP,解压就可用。

java语言学习

实习每日进度java语言学习11月15日(周四)11月16日(周五)11月19日(周一) java语言学习 11月15日(周四) 开始阅读head first java,初步了解java面向对象的编程范式,认识了java的主数据类型和引用,了解了数组的用法,编写了一个小程序。 11月16日(周五) 学会了java中继承的用法,方法的覆盖(子类方法覆盖父类方法)和重载(同名函数参数数量和类型不同)...

mogolola的博客 801

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

java语言学习要点_菜鸟入门:Java语言学习六大要点

原标题:菜鸟入门:Java语言学习六大要点Java的学习是比较复杂的,主要表现在相关的一系列平台、规范和协议上。有经验的Java程序员都知道,只掌握了Java语言本身很难开发应用程序。不讨论这些复杂的概念,而是我是参加的培训,现在从初学者的角度,对于Java语言本身的学习提出自己的见解和建议。本文的讨论基于以下假设:1. 学习的目的是为了将来进行应用程序的开发,而不是进行语言理论研究2. 将来的应...

weixin_35981295的博客 221

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

(献给学习Java的程序员)Java语言学习六大要点

菜鸟入门:Java语言学习六大要点Java的学习是比较复杂的,主要表现在相关的一系列平台、规范和协议上。有经验的Java程序员都知道,只掌握了Java语言本身很难开发应用程序。本文不讨论这些复杂的概念,而是我是在北京参加的培训,现在从初学者的角度,对于Java语言本身的学习提出自己的见解和建议。本文的讨论基于以下假设:    1. 学习的目的是为了将来进行应用程序的开发,而不是进行语言

kaka的专栏 803

【三万粉丝终极福利】Python、C、Java三大语言学习路线和资源整理_博客三万粉丝

cppreference是一个免费网站,上面包含了关于C语言和C++的编程知识、库函数、以及诸多代码示例,目前连最新的C++20标准都支持了。

m0_63102527的博客 1326

【三万粉丝终极福利】Python、C、Java三大语言学习路线和资源整理_博客三万粉丝(1)

大家好,我是辣条。

2401_84689238的博客 2181

【用Java学习数据结构系列】探索Java集合框架的无尽秘密pro

与C语言学习数据结构不同,Java在数据结构的学习和使用上我们必须要了解一下Java的集合框架。Java中的顺序表,链表,栈,队列,二叉树等,Java都是已经写好的了,其中队列是一个接口。那么既然Java已经实现了这些数据结构,那么我们只需要认识和会使用这些接口和类就好,那么想认识这些数据结构之前,我们必须要先了解一下Java的集合框架。集合框架是用于表示和操作集合的统一体系结构。这些是表示集合的抽象数据类型。接口允许独立于其表示的细节来操作集合。在面向对象的语言中,接口通常形成一个层次结构。

2302_81249757的博客 1168

【三万粉丝终极福利】Python、C、Java三大语言学习路线和资源整理

大家好,我是辣条。 今天给大家带来三万粉丝三大语言学习路线和资源整理,收藏就对了。 目录 C语言 学习路线 学习书籍 学习视频 资源推荐 Java语言 学习路线 学习书籍 学习视频 资源推荐 Python语言 学习路线 学习书籍 学习视频 资源推荐 C语言 学习路线 学习书籍 学习视频 资源推荐 Java语言 学习路线 学习书籍 学习视频 资源推荐 Python语言 学习路线 学习书籍 学习视频 资源推荐

五包辣条的博客 2万+

2021年 java语言学习目录最新(idea版)

java语言学习目录(idea版) java历史 1.1 java历史、JVM(虚拟机)、JRE(运行环境)、JDK (开发工具)、JDK配置 https://blog.youkuaiyun.com/Birdmotianlun/article/details/104476157 变量 1.2 java注释、关键字、标识符、常量、变量(基本数据类型、引用数据类型) https://blog.youkuaiyun.com/Birdmotianlun/article/deta

Birdlun的博客 577

菜鸟入门:Java语言学习六大要点

菜鸟入门:Java语言学习六大要点Java的学习是比较复杂的,主要表现在相关的一系列平台、规范和协议上。有经验的Java程序员都知道,只掌握了Java语言本身很难开发应用程序。本文不讨论这些复杂的概念,而是我是在北京参加的培训,现在从初学者的角度,对于Java语言本身的学习提出自己的见解和建议。本文的讨论基于以下假设:    1. 学习的目的是为了将来进行应用程序的开发,而不是进行语言理论研究

我命由我不由天 600

Java语言学习六大要点

Java的学习是比较复杂的,主要表现在相关的一系列平台、规范和协议上。有经验的Java程序员都知道,只掌握了Java语言本身很难开发应用程序。本文不讨论这些复杂的概念,而是我是在北京参加的培训,现在从初学者的角度,对于Java语言本身的学习提出自己的见解和建议。本文的讨论基于以下假设:<br /><br />    1. 学习的目的是为了将来进行应用程序的开发,而不是进行语言理论研究<br /><br />    2. 将来的应用开发是在成熟的平台上展开,而不是自己从底层开发平台<br /><br /> 

dadaooxx的专栏 431

java语言重点_Java语言学习的六大重点教学关键

Java语言学习的六大重点教学关键Java的学习是比较复杂的,主要表现在相关的一系列平台、规范和协议上。有经验的Java程序员都知道,只掌握了Java语言本身很难开发应用程序。下面是Java语言学习六大重点教学关键,为大家提供参考。一、掌握静态方法和属性静态方法和属性用于描述某一类对象群体的特征,而不是单个对象的特征。java中大量应用了静态方法和属性,这是一个通常的技巧。但是这种技巧在很多语言中...

weixin_31548723的博客 163

Java语言学习的要点

Java的学习是比较复杂的,主要表现在相关的一系列平台、规范和协议上。有经验的Java程序员都知道,只掌握了Java语言本身很难开发应用程序。本文不讨论这些复杂的概念,而是从初学者的角度,对于Java语言本身的学习提出自己的见解和建议。本文的讨论基于以下假设: 学习的目的是为了将来进行应用程序的开发,而不是进行语言理论研究 将来的应用开发是在成熟的平台上展开,而不是自己从底层开发平台掌握静态方

1380
上一篇: Java学习-异常
下一篇: 数组常用操作
yfstdio
博客等级 码龄14年 3粉丝 22原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值