数组排序非常简单,有前辈们的各种排序算法,再加上Java中强大的数组辅助类Arrays与集合辅助类Collections,使得排序变得非常简单,如果说结合比较器Comparator接口和Collator类及其子类RuleBasedCollator,能将排序发挥到极致. 1.默认规则的排序   String[] array = {"动作","剧情","情感","惊悚","动画","纪录"}…
此文转载自:http://student-lp.iteye.com/blog/2082362 在java编程的过程中,我们不能确定某一类型的对象到底会需要多少,为了解决这个问题,java提供了容纳对象的多种方式.其中内建的类型是数组:此外还提供了“集合类”,利用这些集合类,我们就可以容纳并操作自己的对象. 一.数组 如何区分数组和其他集合类呢?其实有两种方式可以区分开:效率和类型.在java中,数组是一个简单的先行序列,它使得元素的访问速度非常快,但付出的代价是--创建一个数组对象时,他的大小是…
所谓数组,是有序的元素序列. [1]  若将有限个类型相同的变量的集合命名,那么这个名称为数组名.组成数组的各个变量称为数组的分量,也称为数组的元素,有时也称为下标变量.用于区分数组的各个元素的数字编号称为下标.数组是在程序设计中,为了处理方便, 把具有相同类型的若干元素按无序的形式组织起来的一种形式. [1]  这些无序排列的同类数据元素的集合称为数组. 平常使用Java中的数组,数组是最基础的一种数据结构 int[] nums=new int[5]; 定义数组以及数组的构造函数如下 publ…
1.数组转换成集合 数组转换为集合,用Arrays.asList方法. public static void main(String[] args) { String[] arr = {"a","b","c","d","e"}; List<String> list = Arrays.asList(arr); System.out.println(list); // List的toString方法…
1.字符串的字面量是否自动生成一个字符串的变量? String  str1  =  “abc”; Sring  str2  =   new String (“abc”); 对于str1:Jvm在遇到双引号时会创建一个String对象,该String对象代表的值是abc,实际上,在创建该对象之前会在String对象池中搜索该字符串对象是否已经被创建,如果已经被创建,就直接返回一个字符串的引用,否则先创建再返回一个引用. 对于str2:需要的额外的工作是:会创建一个新的的string对象,通过new…
1.&& 和 &区别和联系: 相同点 : 结果是一样的.       不同点 :如果使用双&号判断,如果说条件一为false,不会判断条件二,但是单&号会继续判断. 2.|| 和 |区别和联系:      相同点 : 结果一样.         不同点 : 如果使用||号判断,如果说条件一为true,不会判断条件二,但是单|号会继续判断. 3.==和equals()的区别:     ==:比较的是地址(引用数据类型). equals:比较的是字符串的值. 4.异常和…
1.&& 和 &区别和联系: 相同点 : 结果是一样的.       不同点 :如果使用双&号判断,如果说条件一为false,不会判断条件二,但是单&号会继续判断. 2.|| 和 |区别和联系:      相同点 : 结果一样.         不同点 : 如果使用||号判断,如果说条件一为true,不会判断条件二,但是单|号会继续判断. 3.==和equals()的区别:     ==:比较的是地址(引用数据类型). equals:比较的是字符串的值. 4.异常和…
接下来的几篇博文会在最近仔细研读数据结构与算法的书籍后会摘录一些要点和总结一些自己的心得体会,帮助大家更深入地理解java中的数据结构和一些基本的算法,同时巩固自己数据结构和算法这些最基础的计算机知识 在Java语言中有两种数据类型基本数据类型和对象类型.Java不同于C++,java语言不将数组作为基本的数据类型,而是将数组作为引用数据类型,创建时需要使用new的方式创建数组 创建数组的方式两种 int[] intArray = new int[100] ,int intArray[] = n…
public class Arrays {    //创建一个Integer空数组    public static Integer[] player=null;    //添加球员号码    private static int size=0;//初始化数组的元素个数    static StringBuffer sb=new StringBuffer();    public static void init(int initialCapacity){//初始容量为5的线性列表,用来存储数据…
1.方法: (1)定义: 完成特定功能块的代码,在有些语言中也叫函数 (2)格式: (3)方法的重载 [在同一个类中,方法名相同,参数列表不同,与返回值无关] 2.数组 (1)定义 存储同一种数据类型的多个元素的容器 (2)特点: 每个元素都有编号,从0开始,最大编号是:数组长度-1; 编号的专业叫法:索引 (3)格式: A:数据类型[] 数组名,(推荐) B:数据类型 数组名[] (4)数组初始化: A:动态初始化 [只给长度,系数给出默认值] B:静态初始化 [给出值,系统决定长度] C:不…
/* *String类和StringBuffer类 * 位于java.lang包中 * String类对象中的内容一旦被初始化就不能再改变 * StringBuffer类中用于封装内容可以改变的字符串 * toString()方法转换成String类型 * String x= "a" + 4 + "c"; 编译时等效于 * Stirng x = new StringBuffer().append("a").append(4).append(&qu…
package com.janson.day20180827; import java.util.*; /** * java中容器内对象的排序可以通过Collections.sort()和Arrays.sort()两种方法实现 * 但用以上两种方法有一个前提就是被排序的对象应该是支持排序的或可以比较的 * 所以被排序的对象必须实现comparable接口或Comparator接口 * comparable接口是排序接口,若一个类实现了该接口,就意味着该类支持排序 * comparator接口是比…
本人的愚见,博客是自己积累对外的输出,在学习初期或自己没有多少底料的情况下,与其总结写博客不如默默去搞自己的代码,但是学到集合这一块时,数组,集合,数据结构,算法这个概念搞的我比较混淆,所以不得已写这篇东西. 一,数组,数组和集合是Java中常用到的. 用Java去创建数组: double[] myList; 这时myList 只是代表声明了一个只存放double类型的数组,并没有实体. 要想创建myList的实体,则要给它一个固定的大小,也就是说,数组存放数据的内存是一块连续的区间. myLi…
上篇博客我们简单介绍了数据结构和算法的概念,对此模糊很正常,后面会慢慢通过具体的实例来介绍.本篇博客我们介绍数据结构的鼻祖——数组,可以说数组几乎能表示一切的数据结构,在每一门编程语言中,数组都是重要的数据结构,当然每种语言对数组的实现和处理也不相同,但是本质是都是用来存放数据的的结构,这里我们以Java语言为例,来详细介绍Java语言中数组的用法. 1.Java数组介绍 在Java中,数组是用来存放同一种数据类型的集合,注意只能存放同一种数据类型(Object类型数组除外). ①.数组的声明…
1.对象数组的概述和使用 * 需求:我有5个学生,请把这个5个学生的信息存储到数组中,并遍历数组,获取得到每一个学生信息. Student[] arr = new Student[5]; //存储学生对象 arr[0] = new Student("张三", 23); arr[1] = new Student("李四", 24); arr[2] = new Student("王五", 25); arr[3] = new Student("…
paip.数组以及集合的操作uapi 作者Attilax  艾龙,  EMAIL:1466519819@qq.com 来源:attilax的专栏 地址:http://blog.csdn.net/attilax java 以及php ,以及Python数组数据结构对照   array(php)>>>>Collection接口(java),arraylist,list,set,map  1.Python的数组分三种类型:(1) list 普通的链表,初始化后可以通过特定方法动态增加元素…
上篇博客我们简单介绍了数据结构和算法的概念,对此模糊很正常,后面会慢慢通过具体的实例来介绍.本篇博客我们介绍数据结构的鼻祖——数组,可以说数组几乎能表示一切的数据结构,在每一门编程语言中,数组都是重要的数据结构,当然每种语言对数组的实现和处理也不相同,但是本质是都是用来存放数据的的结构,这里我们以Java语言为例,来详细介绍Java语言中数组的用法. 1.Java数组介绍 在Java中,数组是用来存放同一种数据类型的集合,注意只能存放同一种数据类型. ①.数组的声明 第一种方式: 数据类型 []…
MAP,SET,LIST,等JAVA中集合解析(了解) - clam_clam的专栏 - CSDN博---有颜色, http://blog.csdn.net/clam_clam/article/details/6645021JAVA中集合map,set,list详解 - jzhf2012的专栏 - CSDN博客 http://blog.csdn.net/jzhf2012/article/details/8465742Java中Map,List和Set的集合 - 毛毛虫的专栏 - CSDN博客--…
java中数组: 数组在Java里是一种特殊类型,有别于普通的“类的实例”的对象.但实际数组也是一种对象类型,int[]a = new int[5]  a是在java栈中分配的引用变量,类型是int[] 数组类型,指向在堆里面地址连续的实际数组对象. 在内存中,数组存储在连续的区域内部,因为数组中每个元素的类型相同,则占用的内存大小也一致,所以在访问数组中的元素时可以直接根据数组在内存中的起始位置以及下标来计算元素的位置,因此数组的访问速度很高.数组必须要初始化才能使用,初始化之后JVM会自动分…
1.集合框架包含的主要内容及彼此之间的关系: 图1:   集合框架:是为了表示和操作集合而统一规定的一种统一的标准体系结构.               包含三大块的内容:对外的接口.接口的是实现和对集合运算的算法: Java集合框架提供了一套性能优良.使用方便的接口和类,它们位于java.util包中:       ●接口:表示集合的抽象数据类型,在图1中用虚线框表示,下图绿色的:                    ●实现:集合框架中接口的具体实现,图1中一实线表示,粗实线表示常用的:上图…
第十九章 集合 一.数组弊端: 数组长度是固定的,无法继续添加元素. 二.什么是集合: Java提供一个集合类,它的长度是可以改变的,能储存任意的对象,长度随着元素的增加而增加. 三.集合和数组的区别: 1.数组:能存放引用数据类型和基本数据类型. 2.集合:只能存放引用数据类型(对象),即使存放基本数据类型,也会自动帮你装箱,把基本数据类型转换为引用数据类型. 3.数组长度是固定的,集合长度能够改变. 四.什么时候用数组,什么时候用集合? 1.如果元素个数固定,用数组 2.对元素进行增删改查操…
什么是树? 上面图例就是一个树,用圆代表节点,连接圆的直线代表边.树的顶端总有一个节点,通过它连接第二层的节点,然后第二层连向更下一层的节点,以此递推 ,所以树的顶端小,底部大.和现实中的树是相反的,但是代码一般从顶点开始执行操作 本文会讲述一种特殊的树--二叉树,每个节点最多有两个子节点.普通的树,节点可以多于两个,称为多路树/多叉树 树的术语: 1.路径:顺着节点的边从一个节点走到另一个节点,所经过的节点的顺序排列就称为“路径” 2.根:树顶端的节点称为根.一棵树只有一个根,如果要把一个节点…
I. 第一部分:常见数据结构 首先简单说下数据结构. 什么是数据结构?数据结构就是组织数据的方式. 常见的数据结构:栈,堆,树,图,数组,队列,链表. 这里主要介绍与java集合体系相关的栈.数组和链表. 栈 特点:压栈弹栈,先进后出. 如:手枪弹夹装弹过程,最先压入的子弹在最下面:而在射击时,最先弹入枪膛的是最上面的子弹,即最后压入弹夹的子弹. 队列 特点:先进先出. 如:子弹射出的过程,先进入枪膛的子弹最先被射出. 数组 概述:用来存储同一种类型元素的容器. 特点:在内存中是连续的,每个元素…
数据结构与算法系列2 线性表 使用java实现动态数组+ArrayList源码详解 对数组有不了解的可以先看看我的另一篇文章,那篇文章对数组有很多详细的解析,而本篇文章则着重讲动态数组,另一篇文章链接如下,可点击跳转: 链接:https://blog.csdn.net/pjh88/article/details/107166950 什么是数组与动态数组? 数组 数组是相同数据类型的元素按照一定的顺序排列的集合,若将有限个类型相同的变量的集合命名,那么这个名称称为数组名,组成数组的各个变量称为数组…
一.数组于简单排序 数组 数组(array)是相同类型变量的集合,可以使用共同的名字引用它.数组可被定义为任何类型,可以是一维或多维.数组中的一个特别要素是通过下标来访问它.数组提供了一种将有联系的信息分组的便利方法. 一维数组 一维数组(one‐dimensional array )实质上是相同类型变量列表.要创建一个数组,你必须首先定义数组变量所需的类型.通用的一维数组的声明格式是: type var‐name[ ]; 获得一个数组需要2步: 第一步,你必须定义变量所需的类型. 第二步,你必…
1. 集合 (1)Collection(单列集合) List(有序,可重复):                         ArrayList:底层数据结构是数组,查询块,增删慢.线程不安全,效率高 Vector:底层数据结构是数组,查询快,增删慢.线程安全,效率低 LinkedList:底层数据结构是链表,查询慢,增删块.线程不安全,效率高. Set(无序,唯一): HashSet:底层数据结构是哈希表,哈希表依赖于两个方法:hashCode()和equals().   执行顺序: 首先判…
前面我们介绍了三种数据结构,第一种数组主要用作数据存储,但是后面的两种栈和队列我们说主要作为程序功能实现的辅助工具,其中在介绍栈时我们知道栈可以用来做单词逆序,匹配关键字符等等,那它还有别的什么功能吗?以及数据结构与本篇博客的主题前缀.中缀.后缀表达式有什么关系呢? 1.人如何解析算术表达式 如何解析算术表达式?或者换种说法,遇到某个算术表达式,我们是如何计算的: ①.求值 3+4-5 这个表达式,我们在看到3+4后都不能直接计算3+4的值,知道看到4后面的 - 号,因为减号的优先级和前面的加号…
上代码 package com.core.array2collection; import java.util.ArrayList; import java.util.Arrays; import java.util.List; public class Demo { public static void main(String[] args) { List<Student> stuList = new ArrayList<Student>(); for(int i = 0 ; i…
Q: 数组的创建? A: Java中有两种数据类型,基本类型和对象类型,在许多编程语言中(甚至面向对象语言C++),数组也是基本类型.但在Java中把数组当做对象来看.因此在创建数组时,必须使用new操作符: int [] objArray = null; // defines a reference to an array objArray = new int[100]; // creates the array, and sets objArray to refer to it 或使用等价的…
由于在学习过程中经常碰到这么一个问题,就是java中几种装数据的容器之间的转换,所以写了这篇随笔专门来总结这些转换方法. 数组转集合: 1.遍历,最常用的方法,但是过程会繁琐一点 int arrs[] = {1, 2}; //1.遍历 List<Integer> list = new ArrayList<>(); for (int ele : arrs) { list.add(ele); } System.out.println(list); 2.使用数组工具类的asList()方…