![](https://img-blog.csdnimg.cn/20201014180756918.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Java1
文章平均质量分 92
ForYanC
这个作者很懒,什么都没留下…
展开
-
Java中的数组问题
Java中的数组问题求数组中的最大值public class FirstClass{ public static void main(String[] args){ int[] data = new int []{1,4,43,76,46,12,43}; int max = data[0]; for(int i=0;i<data.length;i+...原创 2019-01-19 18:59:37 · 1604 阅读 · 0 评论 -
删除链表中所有重复结点,重复结点不保留
删除链表中所有重复结点,重复结点不保留分析:定义一个假的结点头,将所有的不重复的结点串在其后面,最后返回该假的结点头的next就可以了。在这个题里面,难点是如何将所有的重复结点都跳过去?因为重复的结点不止两个,可能有是三个,四个等等,因为不知道要跳过多少个重复的结点,所以在这里需要用到一个while循环。程序:public Node deleteDuplication() { ...原创 2019-08-25 21:06:56 · 353 阅读 · 0 评论 -
输入一个单链表,输出该链表的倒数第K个结点
输出单链表的倒数第K个结点分析:首先如果链表为空,则不存在第K个结点;如果K小于0,则也不存在倒数第K个结点。对于K大于数组长度的也不存在第K个结点。接下来是定义两个结点,一个fast,一个slow。既然是求倒数第K个 结点,那么先让快的走K-1步,然后快的和慢的一起走。等到快的走到尾结点的时候,这个时候慢的就走到了倒数第K个结点。程序如下:public Node FindKthToT...原创 2019-08-12 12:09:47 · 1545 阅读 · 2 评论 -
不带头双向链表的头插,尾插,指定位置插入
不带头双向链表的头插、尾插、指定位置插入对于双向链表的插入操作,为了方便起见,可以在链表初始化的时候定义一个头head(指向第一个元素),一个尾巴last(指向最后一个元素)1、头插分析:对于双向链表的头插,一般分为第一次插入和不是第一次插入。具体见下图:程序如下:public void addFirst(int data) { Node node = new No...原创 2019-08-15 00:48:28 · 565 阅读 · 0 评论 -
Set集合
Set集合对于Set集合,里面是不能存储重复元素的,它的两个常用子类,一个是HashSet,一个是TreeSet,因为这两个都是不允许存储重复元素的。所以在存入时,首先会判断两个对象的Hahcode是否相等,如果两个对象的Hashcode相等,那么会接着会用equals比较两个对象,如果两个equals返回true,则说明两个对象相等,如果返回为false,则说明是不同的对象,可以存入。所...原创 2019-08-19 17:33:08 · 128 阅读 · 0 评论 -
反转一个单链表
反转一个单链表分析:如下图所示,下图表示反转之前的单链表反转之后就变成了下图所示从图中可以看出来,我们需要将第一个结点的next域变为null。从第二个结点开始就让其指向指向前面的结点。程序如下:public Node reverseList() { Node prev = null;//表示cur的前驱,里面放的是前驱信息 Node cur = ...原创 2019-08-10 11:14:25 · 225 阅读 · 0 评论 -
带头循环单链表删除指定元素
带头循环单链表删除指定元素1.remove()分析:1)首先要找到删除元素的前驱2)如果前驱不存在,即就是该单链表中不存在该元素3)如果前驱存在,则进行删除程序如下:private Node searchPre(int key){ Node pre=this.head; while(pre.next!=this.head){ ...原创 2019-08-07 10:18:20 · 940 阅读 · 0 评论 -
List集合框架
List1 .ArrayList它是jdk1.2的时候提出来的,它的底层是由数组来实现的。如果实例化此类对象时掺入了数组大小,则里面保存的数组就会开辟一个定长的数组,如果后面进行数据保存时发现数组不够了,此时就要对数组进行扩容。ArrayList是异步处理,性能更高,但是非线程安全以下是ArrayList类的以下常用方法:public class ArrayList { pub...原创 2019-08-18 17:29:32 · 142 阅读 · 0 评论 -
带头循环单链表的头插,尾插,指定位置插入元素
带头单链表的头插,尾插,指定位置插入元素1.头插分析:对于还没有进行插入数据的时候,此时的头结点指向头结点自己,这个在初始化里面完成,对于一般情况下的插入,先绑后面再绑前面。具体如下图所示:程序如下: public void addFirst(int data) { Node node=new Node(data); node.next=this.hea...原创 2019-08-06 10:54:17 · 1921 阅读 · 0 评论 -
单链表的删除指定元素
单链表删除指定元素key1.删除第一次出现的元素key分析:1)如果链表为空,就不存在删除元素,所以刚开始应该对链表的长度进行判断2)如果要删除的元素为头结点,所以首先要对头结点进行判断3)如果要删除一个元素,那么要站到它的前驱,再进行删除,否则无法进行删除public int remove(int key) { int oldData=0; Node ...原创 2019-08-05 11:00:06 · 5989 阅读 · 1 评论 -
从C语言的变量名转为java的驼峰命名
题目:从C/C+ +转到Java的程序员,一开始最不习惯的就是变 量命名方式的改变。C语言风格使用下划线分隔多个单词,例如"hello_ world";而Java则采用一种叫骆驼命名法的规则:除首个单词以外,所有单词的首字母大写,例如"helloWorld"。请你帮可怜的程序员们自动转换变量名。输入:hello_worldnice_to_meet_you输出:helloWorldnice...原创 2019-07-25 10:39:27 · 422 阅读 · 0 评论 -
链表的头插,尾插,按指定位置插入(java实现)
链表的java实现链表是一种物理结构上的非连续,非顺序的存储结构,数据元素的逻辑顺序是通过链表中的引用链接次序实现的。对于单项不带头的非循环链表来说,下面是它的结构图。下面是对这种链表的 头插、尾插和按照指定位置插入public class MyLinkedList{ //内部类 class Node{ private int data; p...原创 2019-05-11 15:51:51 · 7061 阅读 · 1 评论 -
字节输出流与输入流
字节输出流与字节输入流字节流是原生的操作,是由字节组成。在进行网络数据传输时,所用的数据类型就是字节。字节的输出流OutputStream实现了程序输出内容到文件的处理,由于OutputStream是一个抽象类,所以不能实例化对象,要想实例化对象必须使用子类进行实例化。例如:OutputStream output=new FileOutputStream(file);下面还文件输出的一个...原创 2019-04-15 17:01:48 · 197 阅读 · 0 评论 -
JAVA三大类
String1.String类的实例化方式直接赋值方式:String str=”hellofor”;传统构造方法:String str=new String(“hellofor”);采用直接赋值的实例化方式,则该实例化对象(字符串内容)会自动保存到到JVM底层的一个对象池中(字符串对象池),如果下次继续使用直接赋值的模式声明String类对象,此时对象池中若有指定内容,将直接进行引用;若没...原创 2019-03-17 16:19:25 · 1241 阅读 · 0 评论 -
不带头双向链表删除指定元素
不带头双向链表删除指定元素1、remove(key)对于remove(key),只需要删除第一次找到的元素,然后返回即可。要删除指定元素,先要判断链表是否为空,如果链表为空,就不存在删除指定元素;如果不为空,接下来再判断要删除的元素是否是其头部。如果是其头部,将其头部后移,并将头的prev置为null;结构图如下:如果不是头部,再向后找指定元素,如果要删除的结点是中间结点,结构图如下:...原创 2019-08-22 00:57:37 · 351 阅读 · 0 评论