常用的数据结构 JAVA

这篇具有很好参考价值的文章主要介绍了常用的数据结构 JAVA。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1、线性表

List<Object> narnat = new ArrayList<>();

ArrayList:动态数组

1、可以嵌套使用

2、add(x)添加元素x,remove(index)删除某个位置的元素

3、注意list是指向性的,在不确定被指向元素是否会发生变动,最好复制一下被指向元素

List<Integer> none  = new ArrayList<>();
List<List<Integer>>end  = new ArrayList<>();
end.add(new ArrayList<Integer>(none));
//为了防止none后续会变动,这里直接复制none

1、Java中List类应该主要是一些方法, 方法的实现应该是在ArrayList类中实现

类似下方的A类B类代码:

import java.util.*;    
public class Main {         
    public static void main(String args[]) {        
    int array[] = {1, 2, 3};
    A<int []> xxf = new B<>();
    xxf.swapp(array);
    //xxf只能调用A类方法无法调用B类
    }
}


class A <T> {
	 public void swapp(T a) {
		 B<T> d = new B<T>();
		 d.address(a);
	 }
}
 
class B <T>  extends A <T> {
	 public void address(T a) {
	     System.out.println(a);
	 }
}

2、List类是一个接口类,所以不能面向对象自己,里面只存储与线性表相关的相关方法所以比较方便

3、而ArrayList类中存在与线性表无关的方法,为了防止用户调用到错误的方法,所以创建的对象是以List开头

代码:

import java.util.*;    
public class Main {         
    public static void main(String args[]) {        
   	 
    A c = new B();
    A d = c;
    
    //d只能调用A类方法 
    
    
    B f = new B();
   //f,A, B方法都可以调用
    A g = f;
    //g也只能调用A类方法
     
    }
}


class A <T> {
	 public void swapp(T a) {
		 B<T> d = new B<T>(); 
		 d.address(a);
	 }
	 public void sxx() {
		 
	 }
}
 
class B <T>  extends A <T> {
	 public void address(T a) {
	     System.out.println(a);
	 }
}
遇到:
public void map(List<Integer> qu){
}

List<Integer> xx = ArrayList<>();

map(xx);
我的理解是:
List<Integer> qu = xx = ArrayList<>();       

代码:

import java.awt.AWTException;
import java.awt.Robot;
import java.awt.event.InputEvent;
import java.util.*;
//需要将读书页面大小调至67%
public class Main {
 public static void main(String[] args) throws AWTException {
       ArrayList<Integer> qu = new ArrayList<>();
       swap(qu);
	   System.out.println(qu);
	  }
 public static void swap (List<Integer> aa) {
	 aa.add(1);
 } 
}
 
 

4、个人理解:qu是ArrayList类创建的,但传参 变成List aa = qu = ArrayList<>(); 朴素来理解即aa虽然是ArrayList生的,是List养的,所以受List限制

这里也证实qu和aa调用的函数范围是不同的:

常用的数据结构 JAVA,数据结构,java,开发语言

常用的数据结构 JAVA,数据结构,java,开发语言

2、栈:

java推荐使用:

Deque stack = new ArrayDeque<Integer>();

Deque:双向队列

1、add(x)将x放在栈顶(最后),push(x)将x放在栈首(末尾)offer(x),将x放在栈首

2、peek()、poll()、peekFirst()、pollFirst()都是对首元素进行操作这是易错点

3、peekLast(), pollLast()才是对栈顶元素操作,这么设计因为可以当队列使用尽管一般队列不用它

3、队列:

Queue qu = new LinkedList<Integer> ();

LinkedList : 链表

1、先进先出

2、peek(x) : 显示首部元素,poll():删掉并返还首部元素

4、HashMap:

Map<Integer, Integer> map = new HashMap<>();

1、今天才发现HashMap是dfs剪枝的一款神器!!!

2、即利用map存储dfs已算过的值,防止重复的计算,以空间换时间

偷学网上大佬的代码:

常用的数据结构 JAVA,数据结构,java,开发语言
太过优雅,一点没改:整数替换

1、map<key, value>

2、containKey(n):判断key内是否存有n

3、containValue(n):判断value内是否存有n

4、get(n):通过key值n找到value值m

常用的数据结构 JAVA,数据结构,java,开发语言

5、put<key, value>:存入新值

6. map.getOrDefault(key, 0):根据key找到对应的value,若没有则返回规定的值0

7、 for(Map.Entry<Integer, Integer> a : map.entrySet()):返回map内的每个值

其中a.getValue();返回迭代器中的value,反之亦然

常用的数据结构 JAVA,数据结构,java,开发语言文章来源地址https://www.toymoban.com/news/detail-609315.html

到了这里,关于常用的数据结构 JAVA的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • java排课管理系统Myeclipse开发mysql数据库web结构java编程计算机网页项目

    一、源码特点     java排课管理系统是一套完善的java web信息管理系统,对理解JSP java编程开发语言有帮助,系统具有完整的源代码和数据库,系统主要采用B/S模式开发。开发环境为TOMCAT7.0,Myeclipse8.5开发,数据库为Mysql5.0,使用java语言开发。 java web 排课管理系统1 下载地址

    2024年02月19日
    浏览(50)
  • java流浪动物保护系统Myeclipse开发mysql数据库web结构java编程计算机网页项目

    一、源码特点     java Web 流浪动物保护系统是一套完善的java web信息管理系统,对理解JSP java编程开发语言有帮助,系统具有完整的源代码和数据库,系统主要采用B/S模式开发。开发环境为TOMCAT7.0,Myeclipse8.5开发,数据库为Mysql5.0,使用java语言开发。 二、功能介绍 前台功能:

    2024年02月04日
    浏览(41)
  • C语言中常用的数据结构

    数组(Array):一组相同类型的数据元素按一定顺序排列而成的数据结构。 链表(Linked List):由一系列结点组成的数据结构,每个结点包含数据和指向下一个结点的指针。 栈(Stack):一种特殊的线性数据结构,只能在栈顶进行插入和删除操作。 队列(Queue):一种先进先

    2024年02月08日
    浏览(30)
  • 数据结构与算法细节篇之最短路径问题:Dijkstra和Floyd算法详细描述,java语言实现。

    最短路径的算法有两个, Dijkstra算法 和 Floyd算法 。 Dijkstra算法 解决的是 单源 最短路径问题 。 Floyd算法解决的是 多源 最短路径问题,并且可以处理负权图 。 今天要讲的就是Dijkstra算法。 加: feng--Insist (大写的i),进java交流群讨论互联网+技术。可索要PPT等资料。 其他资料

    2024年02月11日
    浏览(51)
  • java 体育明星管理系统Myeclipse开发mysql数据库web结构java编程计算机网页项目

    一、源码特点     java Web 体育明星管理系统是一套完善的java web信息管理系统,对理解JSP java编程开发语言有帮助,系统具有完整的源代码和数据库,系统主要采用B/S模式开发。开发环境为 TOMCAT7.0,Myeclipse8.5开发,数据库为Mysql5.0,使用java语言开发。 java Web体育明星管理系统

    2024年02月02日
    浏览(49)
  • R语言中的常用数据结构

    目录 R对象的基本类型 R对象的属性 R的数据结构 向量 矩阵 数组 列表 因子 缺失值NA 数据框 R的数据结构总结 R语言可以进行探索性数据分析,统计推断,回归分析,机器学习,数据产品开发 R语言对象有五种基本类型,分别是字符,数值,整数,复数,逻辑 你可能有疑问,整

    2024年04月12日
    浏览(27)
  • java springboot VUE粮食经销系统开发mysql数据库web结构java编程计算机网页源码maven项目

    一、源码特点   springboot VUE 粮食经销系统是一套完善的完整信息管理类型系统,结合springboot框架和VUE完成本系统,对理解JSP java编程开发语言有帮助系统采用springboot框架(MVC模式开发) ,系统具有完整的源代码和数据库,系统主要采用B/S模式开发。 springboot vue 粮食经销系统

    2024年02月05日
    浏览(45)
  • jsp 图书销售系统Myeclipse开发mysql数据库web结构java编程计算机网页项目

    一、源码特点      JSP 图书销售系统是一套完善的java web信息管理系统,对理解JSP java编程开发语言有帮助,系统具有完整的源代码和数据库,系统主要采用B/S模式开发。开发环境为 TOMCAT7.0,Myeclipse8.5开发,数据库为Mysql5.0,使用java语言开发。 jsp 图书销售系统Myeclipse开发mys

    2024年02月11日
    浏览(47)
  • java 宠物医院系统Myeclipse开发mysql数据库web结构jsp编程计算机网页项目

    一、源码特点     java 宠物医院系统是一套完善的java web信息管理系统,对理解JSP java编程开发语言有帮助,系统具有完整的源代码和数据库,系统主要采用B/S模式开发。开发环境为TOMCAT7.0,Myeclipse8.5开发,数据库为Mysql5.0,使用java语言开发。 java Web 宠物医院管理系统1 下载地

    2024年02月20日
    浏览(42)
  • java 学生信息管理系统Myeclipse开发mysql数据库web结构jsp编程计算机网页项目

    一、源码特点     java 学生信息管理系统是一套完善的java web信息管理系统,对理解JSP java编程开发语言有帮助,系统具有完整的源代码和数据库,系统主要采用B/S模式开发。开发环境为 TOMCAT7.0,Myeclipse8.5开发,数据库为Mysql5.0,使用java语言开发。 java 学生信息管理系统 二、

    2024年02月09日
    浏览(52)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包