做同城信息类网站如何赚钱/seo排名系统源码

做同城信息类网站如何赚钱,seo排名系统源码,如何批量做网站,wordpress定制菜单一、Motivation 1. Java支持哪种类型的一维数据结构? Java中用于在单一维度中存储数据的数据结构,如arrays or ArrayLists. 2. 如何在Java下创建一维数据结构?(1-dimensional data structure) 定义和初始化这些一…

一、Motivation


1.    Java支持哪种类型的一维数据结构?
Java中用于在单一维度中存储数据的数据结构,如arrays or ArrayLists.


2.    如何在Java下创建一维数据结构?(1-dimensional data structure)
定义和初始化这些一维数据结构

int[] arr = new int[10];

int[] numbers = {1, 2, 3, 4, 5};  // 使用初始化语法创建并赋值

<Integer> list = new ArrayList<>();用于动态列表


3.    我们如何使用它们?如何maintain它们?
数组或列表中添加、删除或访问元素。

维数据结构主要包括对其进行动态管理和更新,包括扩展大小、添加新元素、删除元素、检查元素等操作


4.    我们可以在Java下迭代一维数据结构吗?
for或for-each这样的循环来遍历一维结构(如数组或列表)中的元素。

• 数组用于固定大小的数据存储,适用于已知大小且不需要频繁扩展的场景。

• ArrayList 用于动态大小的数据存储,适用于需要频繁修改数据的场景。

二、Menu

• Collections and List

• Using List and ArrayList

• Iterators

三、Comments on code style        代码风格的注释

1. 省略 this. 关键字

 一般情况下,我们不需要在方法调用前加上 this.,除非在构造函数或方法内部需要明确区分实例变量和局部变量时才使用。

• 不推荐的写法:this.loadFromFile(fname);

• 推荐的写法:loadFromFile(fname);

• Explanation: 在 Java 中,如果没有命名冲突,通常不需要使用 this 关键字来调用实例方法或访问实例变量。

2. 省略包含单一语句的花括号 {}

 如果 if、while 等控制语句只包含一个语句,那么可以省略 {},使代码更加简洁。

• 不推荐的写法

while (i < name.length) {
    name[i] = null;
}

• 推荐的写法

while (i < name.length)
    name[i] = null;

四、集合类型 (Collection Types)

 Java 集合框架 的接口和类的层次结构,并展示了如何使用它们来处理数据。

1. 接口

 Collection 是一个通用接口,表示一个元素集合,所有 Java 集合框架的实现都继承自该接口。

 List 是 Collection 接口的子接口,表示一种有序集合,允许重复的元素。

2. 

 ArrayList 和 LinkedList 是实现了 List 接口的具体类,分别基于动态数组和链表结构。

3. 接口的继承关系

• List 继承自 Collection,并且它实现了多种有序的集合操作。例如,ArrayList<E> 是基于动态数组实现的,而 LinkedList<E> 是基于链表实现的。

4. 子接口扩展

• 子接口(如 List)会继承父接口(如 Collection)的方法,并且可以添加自己的特有方法。

The sub interface has all the methods of the super interface

五、Methods on Collection and List

1. Collection 接口中的方法

• isEmpty(): 判断集合是否为空,返回 boolean 类型。

• size(): 返回集合中元素的个数,返回 int 类型。

• contains(E elem): 判断集合中是否包含指定元素,返回 boolean 类型。

• add(E elem): 向集合中添加元素,返回 boolean 类型,表示是否成功添加。

• remove(E elem): 移除集合中的指定元素,返回 boolean 类型,表示是否成功移除。

• iterator(): 返回一个迭代器对象,用于遍历集合中的元素。

 // 获取 Iterator 对象

        Iterator<String> iterator = list.iterator();

        // 使用迭代器遍历元素

        while (iterator.hasNext()) {

            String fruit = iterator.next();

            System.out.println(fruit);

        }

Iterator 接口 定义了三个常用方法:

1. hasNext():检查是否还有下一个元素。

2. next():获取下一个元素。

3. remove():删除当前元素(可选操作)。

 

2. List 接口中的方法

E 代表的是 “元素”(Element)的泛型类型参数。它是一个通用的类型参数,通常用于表示集合中存储的对象类型。比如,List<E> 就表示 一个可以存储任意类型元素的列表

• add(int index, E elem): 在指定位置 index 插入元素 elem。

• remove(int index): 移除指定位置的元素,返回被移除的元素。

• get(int index): 获取指定位置的元素,返回该元素。

• set(int index, E elem): 替换指定位置的元素,返回被替换的元素。

• indexOf(E elem): 返回指定元素在列表中的位置(索引),如果元素不存在则返回 -1。

• subList(int from, int to): 返回一个新的子列表,从 from 索引到 to 索引之间的元素。

六、使用集合类型 (Using a collection type)

1. 声明集合类型变量

变量或字段应声明为接口类型,而不是具体实现类。这是为了使代码更加灵活,可以随时更换具体的实现类(例如从 ArrayList 切换到 LinkedList)。

List 是一个接口,代表有序集合,它有多个具体的实现类,如 ArrayList 和 LinkedList。当你声明一个集合类型时,最好使用接口类型(例如 List),而不是具体的实现类(例如 ArrayList 或 LinkedList)。

• 示例:The type between “<“ and “>” is the type of the elements

// 声明为 List 接口类型,具体实现可以是 ArrayList 或 LinkedList

private List<Task> tasks;

// 创建具体实现对象时,可以选择不同的实现类

tasks = new ArrayList<Task>();  // 使用 ArrayList 实现

// 或者

tasks = new LinkedList<Task>();  // 使用 LinkedList 实现

 这里的 List<Task> 表示任务的集合,Task 是任务对象的类型。

2. 创建集合对象

使用实现了集合接口的类来创建对象。比如,通过 ArrayList 或 LinkedList 来实现 List 接口。

• 示例:

tasks = new ArrayList<Task>();

• 这行代码创建了一个 ArrayList 类型的 tasks 集合,存储 Task 类型的元素。

3. 操作集合中的元素

• 一旦创建了集合对象,就可以调用集合方法来访问或修改集合中的元素,例如:

• add() 用于添加元素,

• remove() 用于删除元素,

• get() 用于获取元素等。

七、Example

1. TodoList – 任务的集合

• TodoList 是一个任务集合,用于按顺序管理需要完成的任务。任务按照它们应该完成的顺序存储在集合中。

集合的类型是 List,其中 Task 是任务对象的类型。

Collection type: List of tasks

2. TodoList 的要求

• 从文件中读取任务列表: 可以通过文件存储任务,并从中读取任务列表。

• 显示所有任务: 提供一个方法来显示当前所有的任务,确保任务列表是清晰的。

• 添加任务: 可以在列表的末尾添加新任务,或者在指定的位置插入任务。

• 删除任务: 从列表中删除指定的任务。

• 移动任务: 将任务从一个位置移动到另一个位置,确保任务按顺序执行。

实现了 ActionListener 接口的 TodoList 类。它的作用是从文件中读取任务列表并存储在 List<Task> 类型的集合中

public class TodoList implements ActionListener{ 

        private List<Task> tasks;

        public void readTasks(String fname){

            try {

                     Scanner sc = new Scanner(new File(fname));

                     tasks = new ArrayList<Task>();

                      while ( sc.hasNext() )

                                tasks.add(new Task(sc.next()));

                      sc.close();

        } catch(IOException e){…}

        displayTasks();

        }

 

 askTask() 和 askIndex() 方法用于向用户询问任务内容或索引值。

3. Iterator 在 Java 中的应用 

(1) for-each 循环转为 Iterator:

for (Task task : tasks){

textArea.append(task + "\n");

for-each 循环 本质上是 Iterator 的一种简化写法。

Iterator<Task> iter = tasks.iterator();
while (iter.hasNext()) {
    Task task = iter.next();
    textArea.append(task + "\n");
}

(2) Iterator 接口:

• Iterator 接口有两个主要方法:

• hasNext():检查是否有下一个元素。

• next():返回下一个元素。

public interface Iterator<E> {
    public boolean hasNext();
    public E next();

 使用 Iterator 遍历 List<String> 中的元素。

for ( String str : items) System.out.print(str + “, “);

Iterator<String> iter = items.iterator();

while (iter.hasNext()){

        String str = iter.next();

        System.out.print(str + “, “);

}

八、List 与数组(Array)的对比​​​​​​​

1. List 的优势:

• 没有大小限制,可以根据需要自动增长。

• 提供了很多内置方法,如 add()、get()、remove() 等,操作更加方便。

2. 数组的局限性:

• 数组大小固定,不能动态扩展。如果需要改变数组的大小,必须创建新的数组。

• 数组操作比较麻烦,尤其是需要处理元素的添加、删除时,必须手动处理大小和位置的变动。

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/896622.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

STM32CubeMx DRV8833驱动

一、DRV8833驱动原理 ​ STBY口接单片机的IO口&#xff0c;STBY置0电机全部停止&#xff0c;置1才能工作。STBY置1后通过AIN1、AIN2、BIN1、BIN2 来控制正反转。 AIN1AIN2电机状态00停止1speed反转speed1正转11停止 其中A端&#xff08;AIN1与AIN2&#xff09;只能控制AO1与…

JSON Schema 入门指南:如何定义和验证 JSON 数据结构

文章目录 一、引言二、什么是 JSON Schema&#xff1f;三、JSON Schema 的基本结构3.1 基本关键字3.2 对象属性3.3 数组元素3.4 字符串约束3.5 数值约束 四、示例&#xff1a;定义一个简单的 JSON Schema五、使用 JSON Schema 进行验证六、实战效果6.1 如何使用 七、总结 一、引…

零样本思维链(Zero-shot CoT)

Large Language Models are Zero-Shot Reasoners (Kojima et al., 2022) 这篇文章研究了大型语言模型 (LLMs) 在推理任务上的能力&#xff0c;并提出了一种名为 Zero-shot-CoT 的新方法&#xff0c;该方法能够有效地引导 LLM 进行多步骤推理&#xff0c;并在各种推理任务上取得…

day01_Java基础

文章目录 day01_Java基础一、今日课程内容二、Java语言概述&#xff08;了解&#xff09;1、Java语言概述2、为什么要学习Java语言3、Java平台版本说明4、Java特点 三、Java环境搭建&#xff08;操作&#xff09;1、JDK和JRE的概述2、JDK的下载和安装3、IDEA的安装4、IDEA的启动…

Spring Boot 项目开发流程全解析

目录 引言 一、开发环境准备 二、创建项目 三、项目结构 四、开发业务逻辑 1.创建实体类&#xff1a; 2.创建数据访问层&#xff08;DAO&#xff09;&#xff1a; 3.创建服务层&#xff08;Service&#xff09;&#xff1a; 4.创建控制器层&#xff08;Controller&…

数据结构课程设计(java实现)---九宫格游戏,也称幻方

【问题描述】 九宫格&#xff0c;一款数字游戏&#xff0c;起源于河图洛书&#xff0c;与洛书是中国古代流传下来的两幅神秘图案&#xff0c;历来被认为是河洛文化的滥觞&#xff0c;中华文明的源头&#xff0c;被誉为"宇宙魔方"。九宫格游戏对人们的思维锻炼有着极大…

GPT-4.5 怎么样?如何升级使用ChatGPTPlus/Pro? GPT-4.5设计目标是成为一款非推理型模型的巅峰之作

GPT-4.5 怎么样&#xff1f;如何升级使用ChatGPTPlus/Pro? GPT-4.5设计目标是成为一款非推理型模型的巅峰之作 今天我们来说说上午发布的GPT-4.5&#xff0c;接下来我们说说GPT4.5到底如何&#xff0c;有哪些功能&#xff1f;有哪些性能提升&#xff1f;怎么快速使用到GPT-4.…

【vscode-解决方案】vscode 无法登录远程服务器的两种解决办法

解决方案一&#xff1a; 查找原因 命令 ps ajx | grep vscode 可能会看到一下这堆信息&#xff08;如果没有大概率不是这个原因导致&#xff09; 这堆信息的含义&#xff1a;当你使用 vscode 远程登录服务器时&#xff0c;我们远程机器服务端要给你启动一个叫做 vscode serv…

一、对4*3按键模块编程分析

一、4*3键盘模块实物分析 说明&#xff1a; 1、横着4排&#xff0c;竖着3列&#xff0c;加起来共7组&#xff0c;所以对外引出7根线。 2、根据排针终端引脚又可分两类。即横排和竖列对应的引脚。 二、代码编写构想&#xff1a; 1、使用7个gpio输入中断&#xff0c;检测7个…

DeepSeek实战

DeepSeek 接入实战&#xff1a;从零开始快速上手 引言 在当今的 AI 领域&#xff0c;DeepSeek 作为一个强大的自然语言处理&#xff08;NLP&#xff09;平台&#xff0c;提供了丰富的 API 接口&#xff0c;帮助开发者快速实现智能对话、文本生成、语义分析等功能。本文将带你…

【告别双日期面板!一招实现el-date-picker智能联动日期选择】

告别双日期面板&#xff01;一招实现el-date-picker智能联动日期选择 1.需求背景2.DateTimePicker 现状图3.日期选择器实现代码4.日期选择器实现效果图5.日期时间选择器实现代码6.日期时间选择器实现效果图 1.需求背景 在用户使用时间查询时&#xff0c;我们经常需要按月份筛选…

Linux(ftrace)__mcount的实现原理

Linux 内核调试工具ftrace 之&#xff08;_mcount的实现原理&#xff09; ftrace 是 Linux 内核中的一种跟踪工具&#xff0c;主要用于性能分析、调试和内核代码的执行跟踪。它通过在内核代码的关键点插入探针&#xff08;probe&#xff09;来记录函数调用和执行信息。这对于开…

tauri2+typescript+vue+vite+leaflet等的简单联合使用(一)

项目目标 主要的目的是学习tauri。 流程 1、搭建项目 2、简单的在项目使用leaflet 3、打包 准备项目 环境准备 废话不多说&#xff0c;直接开始 需要有准备能运行Rust的环境和Node&#xff0c;对于Rust可以参考下面这位大佬的文章&#xff0c;Node不必细说。 Rust 和…

关于流水线的理解

还是不太理解&#xff0c;我之前一直以为&#xff0c;对axis总线&#xff0c;每一级的寄存器就像fifo一样&#xff0c;一级一级的分级存储最后一级需要的数据。 像这张图&#xff0c;一开始是在解析axis流形式的数据包&#xff0c;数据包一直都能输入&#xff0c;所以valid一直…

Python代码之美:从规范到艺术

基础规范&#xff1a;代码的"颜值"很重要 &#x1f449;大礼包&#x1f381;&#xff1a;&#x1f448; PEP 8&#xff1a;不只是规范&#xff0c;是写作艺术 良好的代码格式就像优美的书法&#xff0c;让人赏心悦目。比如&#xff1a; # 不推荐的写法 def calcul…

8 SpringBoot进阶(上):AOP(面向切面编程技术)、AOP案例之统一操作日志

文章目录 前言1. AOP基础1.1 AOP概述: 什么是AOP?1.2 AOP快速入门1.3 Spring AOP核心中的相关术语(面试)2. AOP进阶2.1 通知类型2.1.1 @Around:环绕通知,此注解标注的通知方法在目标方法前、后都被执行(通知的代码在业务方法之前和之后都有)2.1.2 @Before:前置通知,此…

七星棋牌 6 端 200 子游戏全开源修复版源码(乐豆 + 防沉迷 + 比赛场 + 控制)

七星棋牌源码 是一款运营级的棋牌产品&#xff0c;覆盖 湖南、湖北、山西、江苏、贵州 等 6 大省区&#xff0c;支持 安卓、iOS 双端&#xff0c;并且 全开源。这个版本是 修复优化后的二开版本&#xff0c;新增了 乐豆系统、比赛场模式、防沉迷机制、AI 智能控制 等功能&#…

【人工智能】Deepseek 与 Kimi 联袂:重塑 PPT 创作,开启智能演示新纪元

我的个人主页 我的专栏&#xff1a;人工智能领域、java-数据结构、Javase、C语言&#xff0c;希望能帮助到大家&#xff01;&#xff01;&#xff01;点赞&#x1f44d;收藏❤ 前言 在当今快节奏的工作与学习场景中&#xff0c;PPT 制作常常是一项耗时耗力的任务。从前期的资…

基于JAVA+Spring+mysql_快递管理系统源码+设计文档

文末获取源码数据库文档 感兴趣的可以先收藏&#xff0c;有毕设问题&#xff0c;项目以及论文撰写等问题都可以和博主沟通&#xff0c;尽最大努力帮助更多的人&#xff01; 摘 要 随着物流行业信息化的深入使得物流过程中货物的状态和变化透明化&#xff0c;现代信息化的接入使…

Python----数据分析(Numpy:安装,数组创建,切片和索引,数组的属性,数据类型,数组形状,数组的运算,基本函数)

一、 Numpy库简介 1.1、概念 NumPy(Numerical Python)是一个开源的Python科学计算库&#xff0c;旨在为Python提供 高性能的多维数组对象和一系列工具。NumPy数组是Python数据分析的基础&#xff0c;许多 其他的数据处理库&#xff08;如Pandas、SciPy&#xff09;都依赖于Num…