自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(110)
  • 收藏
  • 关注

转载 其他对象——Runtime

/*Runtime对象该类并没有提供构造函数。说明不可以new对象。那么会直接想到该类中的方法都是静态的。发现该类中还有非静态方法。说明该类肯定会提供了方法获取本类对象。而且该方法是静态的,并返回值类型是本类类型。由这个特点可以看出该类使用了单例设计模式完成。该方式是static Runtime getRuntime();*/class RuntimeDemo{

2017-08-02 21:01:48 128

转载 其他对象——System

/*System:类中的方法和属性都是静态的。out:标准输出,默认是控制台。in:标准输入,默认是键盘。描述系统一些信息。获取系统属性信息:Properties getProperties();*/import java.util.*;class SystemDemo { public static void main(String[] args) { Pro

2017-08-02 20:45:21 123

转载 集合框架——可变参数、静态导入

/*JDK1.5版本出现的新特性。方法的可变参数。在使用时注意:可变参数一定要定义在参数列表最后面。*/class ParamMethodDemo{ public static void main(String[] args) { //show(3,4); /* //虽然少定义了多个方法。 但是每次都要定义一个数组。作为实际参数。 int[] arr

2017-08-02 20:26:10 161

转载 集合框架——foreach语句

/*高级for循环格式:for(数据类型 变量名 : 被遍历的集合(Collection)或者数组){ }对集合进行遍历。只能获取集合元素。但是不能对集合进行操作。迭代器除了遍历,还可以进行remove集合中元素的动作。如果是用ListIterator,还可以在遍历过程中对集合进行增删改查的动作。传统for和高级for有什么区别呢?高级for有一个局限性。必须有被

2017-08-02 20:07:45 159

原创 集合框架——数组和集合互相变换

/*Arrays:用于操作数组的工具类。里面都是静态方法。asList:将数组变成list集合*/import java.util.*;class ArraysDemo{ public static void main(String[] args) {// int[] arr = {2,4,5};//// System.out.println(Arrays.t

2017-08-02 19:51:41 250

原创 集合框架——Collectios之替换翻转方法

import java.util.*;class StrComparator implements Comparator{ public int compare(String s1,String s2) { /* int num = s1.compareTo(s2); if(num>0) return -1; if( num<0) return 1; re

2017-08-02 17:41:58 271

原创 集合框架—— Collections之sort()、max()、binarySearch()方法

/*集合框架的工具类。Collections:集合框架的工具类。里面定义的都是静态方法。Collections和Collection有什么区别?Collection是集合框架中的一个顶层接口,它里面定义了单列集合的共性方法。 它有两个常用的子接口, List:对元素都有定义索引。有序的。可以重复元素。 Set:不可以重复元素。无序。Collections是集合框架中的一个

2017-08-02 17:24:54 416

转载 集合框架——Map知识扩展

/*map扩展知识。map集合被使用是因为具备映射关系。"yureban" Student("01" "zhangsan");"yureban" Student("02" "lisi");"jiuyeban" "01" "wangwu";"jiuyeban" "02" "zhaoliu";一个学校有多个教室。每一个教室都有名称。*/import java.uti

2017-07-31 15:51:38 155

原创 集合框架——TreeMap练习(字母出现的次数)

/*练习:"sdfgzxcvasdfxcvdf"获取该字符串中的字母出现的次数。希望打印结果:a(1)c(2).....通过结果发现,每一个字母都有对应的次数。说明字母和次数之间都有映射关系。注意了,当发现有映射关系时,可以选择map集合。因为map集合中存放就是映射关系。什么使用map集合呢?当数据之间存在这映射关系时,就要先想map集合。思路:1,将字符串转换

2017-07-31 15:25:31 229

原创 集合框架——TreeMap练习

/*需求:对学生对象的年龄进行升序排序。因为数据是以键值对形式存在的。所以要使用可以排序的Map集合。TreeMap。*/import java.util.*;class StuNameComparator implements Comparator{ public int compare(Student s1,Student s2) { int num = s1.get

2017-07-31 11:39:27 249

原创 集合框架——HashMap练习

/*每一个学生都有对应的归属地。学生Student,地址String。学生属性:姓名,年龄。注意:姓名和年龄相同的视为同一个学生。保证学生的唯一性。1,描述学生。2,定义map容器。将学生作为键,地址作为值。存入。3,获取map集合中的元素。*/import java.util.*;class Student implements Comparable{ p

2017-07-31 11:31:36 195

转载 集合框架——Map的两种取出方式(keySet和entrySet)

/*map集合的两种取出方式:1,Set keySet:将map中所有的键存入到Set集合。因为set具备迭代器。 所有可以迭代方式取出所有的键,在根据get方法。获取每一个键对应的值。 Map集合的取出原理:将map集合转成set集合。在通过迭代器取出。2,Set> entrySet:将map集合中的映射关系存入到了set集合中, 而这个关系的数据类型就是:Map.

2017-07-31 11:15:20 204

转载 集合框架——Map集合

/*Map集合:该集合存储键值对。一对一对往里存。而且要保证键的唯一性。 1,添加。 put(K key, V value) putAll(Map m) 2,删除。 clear() remove(Object key) 3,判断。 containsValue(Object value) containsKey(Object key) isEmpt

2017-07-31 10:44:55 163

转载 集合框架——泛型限定

import java.util.*;/*? 通配符。也可以理解为占位符。泛型的限定;? extends E: 可以接收E类型或者E的子类型。上限。? super E: 可以接收E类型或者E的父类型。下限*/class GenericDemo6{ public static void main(String[] args) { /* ArrayList al

2017-07-30 16:50:44 173

转载 集合框架——定义泛型接口

//泛型定义在接口上。interface Inter{ void show(T t);}/*class InterImpl implements Inter{ public void show(String t) { System.out.println("show :"+t); }}*/class InterImpl implements Inter{ p

2017-07-30 16:26:50 142

转载 集合框架——定义泛型方法

/*class Demo{ public void show(T t) { System.out.println("show:"+t); } public void print(T t) { System.out.println("show:"+t); }}*///泛型类定义的泛型,在整个类中有效。如果被方法使用,//那么泛型类的对象明确要操作的具体类型后,所有

2017-07-30 15:57:21 259

转载 集合框架——定义泛型类

/*class Tool{ private Worker w; public void setWorker(Worker w) { this.w = w; } public Worker getWorker() { return w; }}*/class Worker{}class Student{}//泛型前做法。class Tool{ pr

2017-07-30 15:55:42 164

转载 集合框架——泛型

import java.util.*;/*泛型:JDK1.5版本以后出现新特性。用于解决安全问题,是一个类型安全机制。好处1.将运行时期出现问题ClassCastException,转移到了编译时期。, 方便于程序员解决问题。让运行时问题减少,安全。,2,避免了强制转换麻烦。泛型格式:通过<>来定义要操作的引用数据类型。在使用java提供的对象时,什么时候写泛型呢?

2017-07-30 15:42:45 148

原创 集合框架——Set(TreeSet练习)

/*练习:按照字符串长度排序。字符串本身具备比较性。但是它的比较方式不是所需要的。这时就只能使用比较器。*/import java.util.*;class TreeSetTest{ public static void main(String[] args) { TreeSet ts = new TreeSet(new StrLenComparator())

2017-07-30 11:54:40 171

转载 集合框架——Set(TreeSet实现Comparator方法排序)

import java.util.*;/*当元素自身不具备比较性,或者具备的比较性不是所需要的。这时需要让容器自身具备比较性。定义了比较器,将比较器对象作为参数传递给TreeSet集合的构造函数。当两种排序都存在时,以比较器为主。定义一个类,实现Comparator接口,覆盖compare方法。*/class Student implements Comparable//

2017-07-30 11:49:02 373

转载 集合框架——Set(TreeSet)

import java.util.*;/*Set:无序,不可以重复元素。 |--HashSet:数据结构是哈希表。线程是非同步的。 保证元素唯一性的原理:判断元素的hashCode值是否相同。 如果相同,还会继续判断元素的equals方法,是否为true。 |--TreeSet:可以对Set集合中的元素进行排序。 底层数据结构是二叉树。 保证元素唯一性的

2017-07-30 11:18:54 169

转载 集合框架——Set(HashSet)

import java.util.*;/*|--Set:元素是无序(存入和取出的顺序不一定一致),元素不可以重复。、 |--HashSet:底层数据结构是哈希表。是线程不安全的。不同步。 HashSet是如何保证元素唯一性的呢? 是通过元素的两个方法,hashCode和equals来完成。 如果元素的HashCode值相同,才会判断equals是否为true。 如果元

2017-07-30 10:55:23 136

原创 集合框架——ArrayList练习

import java.util.*;/*去除ArrayList集合中的重复元素。*/class ArrayListTest { public static void sop(Object obj) { System.out.println(obj); } public static void main(String[] args) { ArrayList a

2017-07-29 19:57:20 164

原创 集合框架——LinkedList练习

/*使用LinkedList模拟一个堆栈或者队列数据结构。堆栈:先进后出 如同一个杯子。队列:先进先出 First in First out FIFO 如同一个水管。*/import java.util.*;class DuiLie{ private LinkedList link; DuiLie() { link = new LinkedList();

2017-07-29 19:56:57 387

转载 集合框架——LinkedList

import java.util.*;/*LinkedList:特有方法:addFirst();addLast();getFirst();getLast();获取元素,但不删除元素。如果集合中没有元素,会出现NoSuchElementExceptionremoveFirst();removeLast();获取元素,但是元素被删除。如果集合中没有元素,会出现NoSuchEl

2017-07-29 19:56:16 153

转载 集合框架——Vector中的枚举

import java.util.*;/*枚举就是Vector特有的取出方式。发现枚举和迭代器很像。其实枚举和迭代是一样的。因为枚举的名称以及方法的名称都过长。所以被迭代器取代了。枚举郁郁而终了。*/class VectorDemo { public static void main(String[] args) { Vector v = new Vecto

2017-07-27 21:30:54 210

转载 集合框架——List类(ArrayList、LinkedList、Vector)

/*Collection |--List:元素是有序的,元素可以重复。因为该集合体系有索引。 |--ArrayList:底层的数据结构使用的是数组结构。特点:查询速度很快。但是增删稍慢。线程不同步。 |--LinkedList:底层使用的链表数据结构。特点:增删速度很快,查询稍慢。线程不同步。 |--Vector:底层是数组数据结构。线程同步。被ArrayList替代了。因为效率低

2017-07-27 21:28:25 215

转载 集合框架——迭代器Iterator

import java.util.*;/*Collection定义了集合框架的共性功能。1,添加 add(e); addAll(collection);2,删除 remove(e); removeAll(collection); clear();3,判断。 contains(e); isEmpty();4,获取 iterator(); size();5,获

2017-07-27 21:11:05 232

转载 基本数据类型

/*基本数据类型对象包装类。byte Byteshort shortint Integerlong Longboolean Booleanfloat Floatdouble Doublechar Character基本数据类型对象包装类的最常见作用,就是用于基本数据类型和字符串类型之间做转换基本数据类型转成字符串。 基本数据类型+"" 基本数据类型.to

2017-07-27 20:02:24 173

转载 StringBuffer类——常用方法

StringBuffer 方法以下是 StringBuffer 类支持的主要方法:序号方法描述1public StringBuffer append(String s)将指定的字符串追加到此字符序列。2public StringBuffer reverse() 将此字符序列用其反转形式取代。

2017-07-27 19:36:52 506

原创 String类——练习(4)

/*4,获取两个字符串中最大相同子串。第一个动作:将短的那个串进行长度一次递减的子串打印。 "abcwerthelloyuiodef" "cvhellobnm" 思路: 1,将短的那个子串按照长度递减的方式获取到。 2,将每获取到的子串去长串中判断是否包含, 如果包含,已经找到!。*/class StringTest4 { public static String

2017-07-27 17:38:43 146

原创 String类——练习(3)

/*3,获取一个字符串在另一个字符串中出现的次数。 "abkkcdkkefkkskks" 思路: 1,定义个计数器。 2,获取kk第一次出现的位置。 3,从第一次出现位置后剩余的字符串中继续获取kk出现的位置。 每获取一次就计数一次。 4,当获取不到时,计数完成。*/class StringTest3{ public static int mySea

2017-07-27 17:37:06 246

原创 String类——练习(2)

/*2,将一个字符串进行反转。将字符串中指定部分进行反转,"abcdefg";abfedcg 思路: 1,曾经学习过对数组的元素进行反转。 2,将字符串变成数组,对数组反转。 3,将反转后的数组变成字符串。 4,只要将或反转的部分的开始和结束位置作为参数传递即可。*/class StringTest2{ public static void main(String[] a

2017-07-27 17:35:44 286

原创 String类——练习(1)

/*1,模拟一个trim方法,去除字符串两端的空格。 思路: 1,判断字符串第一个位置是否是空格,如果是继续向下判断,直到不是空格为止。 结尾处判断空格也是如此。 2,当开始和结尾都判断到不是空格时,就是要获取的字符串。*/class StringTest1{ public static void sop(Object obj) { System.out.pri

2017-07-27 17:34:28 202

转载 String类——常见字符串操作指令

String 方法下面是 String 类支持的方法,更多详细,参看 Java String API 文档:SN(序号)方法描述1char charAt(int index)返回指定索引处的 char 值。2int compareTo(Object o)把这个字符串和另一个对象比较。3

2017-07-27 11:51:13 711

原创 多线程——线程练习

class ThreadTest { public static void main(String[] args) { new Thread() { public void run() { for(int x=0; x<100; x++) { System.out.println(Thread.currentThread().getNam

2017-07-25 11:43:38 166

转载 多线程——停止和守护线程

/*stop方法已经过时。如何停止线程?只有一种,run方法结束。开启多线程运行,运行代码通常是循环结构。只要控制住循环,就可以让run方法结束,也就是线程结束。特殊情况:当线程处于了冻结状态。就不会读取到标记。那么线程就不会结束。当没有指定的方式让冻结的线程恢复到运行状态是,这时需要对冻结进行清除。强制让线程恢复到运行状态中来。这样就可以操作标记让线程结束。Th

2017-07-25 11:16:03 364

转载 多线程——线程间通信{JDK1.5升级版 Lock;Conditon}

import java.util.concurrent.locks.*;class ProducerConsumerDemo2 { public static void main(String[] args) { Resource r = new Resource(); Producer pro = new Producer(r); Consumer con = new

2017-07-25 11:00:27 177

转载 多线程——线程间通信{wait(); notifyAll();}

class ProducerConsumerDemo { public static void main(String[] args) { Resource r = new Resource(); Producer pro = new Producer(r); Consumer con = new Consumer(r); Thread t1 = new Thread(

2017-07-25 10:20:13 144

转载 多线程——死锁

/*死锁。同步中嵌套同步。*/class Ticket implements Runnable{ private int tick = 1000; Object obj = new Object(); boolean flag = true; public void run() { if(flag) { while(true) { synch

2017-07-23 16:59:16 165

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除