分类目录归档:JAVA

关于java的那些事儿

java Queue函数大全及使用说明

在java5中新增加了java.util.Queue接口,用以支持队列的常见操作。该接口扩展了java.util.Collection接口。 Queue使用时要尽量避免Collection的add()和remove()方法,而是要使用offer()来加入元素,使用poll()来获取并移出元素。它们的优点是通过返回值可以判断成功与否,add()和remove()方法在失败的时候会抛出异常。 如果要使用前端而不移出该元素,使用element()或者peek()方法。 值得注意的是LinkedList类实现了Queue接口,因此我们可以把LinkedList当成Queue来用。   1.入队列 offer(obj);   2.出队列 poll();   3.增加一元素 add(obj);   4.增加一集合 add(c);   5.读头元素 peek() or element()   6.取队列长度 size();   7.清队列 clear() import java.util.ArrayList; import java.util.LinkedList; import java.util.List; import java.util.Queue;   public class Main {   public static void main(String[] args) { … 继续阅读

发表在 JAVA | 标签为 , , , | 留下评论

采用LinkedList的java队列

Java队列 队列是一种特殊的线性表,它只允许在表的前端(front)进行删除操作,而在表的后端(rear)进行插入操作。进行插入操作的端称为队尾,进行删除操作的端称为队头。队列中没有元素时,称为空队列。 在队列这种数据结构中,最先插入的元素将是最先被删除的元素;反之最后插入的元素将是最后被删除的元素,因此队列又称为“先进先出”(FIFO—first in first out)的线性表。 队列空的条件:front=rear 队列满的条件: rear = MAXSIZE package com.javaer.examples.datastruct;   import java.util.LinkedList; import java.util.Queue;   public class QueueExample {   /** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub … 继续阅读

发表在 JAVA | 标签为 , , | 留下评论

枚举带属性的实体

枚举,还可以枚举带一点属性的实体。 枚举可以用来枚举几个人 Tom,Jack,Hai,Walter. 可以枚举几个车 Audi,Volvo,BWM,Ford 还可以枚举带属性的 ZHAO(“1″),QIAN(“2″),SUN(“3″),LI(“4″) 来个带属性的例子 package com.javaer.examples;   enum Color { GREEN("green"), RED("red"), BLACK("black"), WHITE("white"); private final String color;   Color(String color) { this.color = color; }   @Override public String toString() { return color; }   … 继续阅读

发表在 JAVA | 标签为 , , | 4 条评论

java RMI的意义,及小例子

RMI的意义 定义: RMI 指的是远程方法调用 (Remote Method Invocation)。它是一种机制,能够让在某个 Java 虚拟机上的对象调用另一个 Java 虚拟机中的对象上的方法。也可以说成分布式计算、可以远程调用方法。 到底有什么作用,看下面的小例子 例子:比如你有一台支持Java的手机 还有一台台式机 手机上有一个非常复杂的运算 如果用手机 来计算的话可能需要很长时间、不过如果用台式机的话几秒就结束了,这个时候就是RMI大显神通的时候,使用RMI从手机发送请求 然后交给台式机计算 然后台式机返回计算和的结果 第一步:创建一个远程接口 package com.javaer.examples.socket.rmi;   import java.rmi.Remote; import java.rmi.RemoteException; //创建远程接口及声明远程方法 public interface HiInterface extends Remote { /** * 远程接口方法必须抛出 java.rmi.RemoteException */ public … 继续阅读

发表在 JAVA | 标签为 , | 留下评论

枚举enumerations中自带方法values和valueOf

每一种枚举的类型自动包含两个方法 values() 返回数组 valueOf() 返回枚举类型。使用字符串来匹配是否相等 public static enum-type[ ] values( ) public static enum-type valueOf(String str) 请看下面的例子 package com.javaer.examples; /** * 学习枚举enumerations * @author mc2 * */   enum Colors { Blue, Red, Black, Green } public class EnumStudy { … 继续阅读

发表在 JAVA | 标签为 , , | 一条评论

javamail发送邮件

JavaMail可以到http://www.oracle.com/technetwork/java/javamail/index-138643.html进行下载 package com.javaer.mail;   import java.util.Date; import java.util.Properties;   import javax.mail.Address; import javax.mail.Authenticator; import javax.mail.BodyPart; import javax.mail.Message; import javax.mail.MessagingException; import javax.mail.Multipart; import javax.mail.PasswordAuthentication; import javax.mail.Session; import javax.mail.Transport; import javax.mail.internet.InternetAddress; import javax.mail.internet.MimeBodyPart; import javax.mail.internet.MimeMessage; import javax.mail.internet.MimeMultipart;   class MyAuthenticatorX extends Authenticator … 继续阅读

发表在 JAVA | 标签为 , | 留下评论

java使用apache poi读取写入Excel

apache出来的开源产品太多了,poi也是其中之一。操作Excel 很方便。 下面写一点简单的例子来演示如何使用poi 读取,写入Excel文件。 poi官方下载地址 http://poi.apache.org/download.html 解压出来的一堆文件,只需要一个jar就可以操作了。其他的还没有研究。 poi-3.9-20121203.jar package com.javaer.file;   import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.IOException;   import org.apache.poi.hssf.usermodel.HSSFCell; import org.apache.poi.hssf.usermodel.HSSFCellStyle; import org.apache.poi.hssf.usermodel.HSSFRow; import org.apache.poi.hssf.usermodel.HSSFSheet; import org.apache.poi.hssf.usermodel.HSSFWorkbook; import org.apache.poi.hssf.util.HSSFColor;   public class ExcelPoi {   public static void write() … 继续阅读

发表在 JAVA | 标签为 , , | 留下评论

java采用jxl写入一个Excel文件

jxl写入一个excel文件。 读取方面请看下面相关链接,上一遍是关于读取excel的。 package com.javaer.file;   import java.io.File; import java.io.IOException;   import jxl.Workbook; import jxl.write.Label; import jxl.write.WritableCellFormat; import jxl.write.WritableFont; import jxl.write.WritableSheet; import jxl.write.WritableWorkbook; import jxl.write.WriteException; import jxl.write.biff.RowsExceededException;   public class ExcelWrite {   /** * @param args * @throws IOException * … 继续阅读

发表在 JAVA | 标签为 , | 留下评论

java采用jxl读取Excel

java采用jxl.jar读取Excel,算法比较简单。 不过经过测试,采用这个办法读取xlsx文件会发生异常 jxl简述 通过java操作excel表格的工具类库 支持Excel 95-2000的所有版本 生成Excel 2000标准格式 支持字体、数字、日期操作 能够修饰单元格属性 支持图像和图表 应该说以上功能已经能够大致满足我们的需要。最关键的是这套API是纯Java的,并不依赖Windows系统,即使运行在Linux下,它同样能够正确的处理Excel文件。另外需要说明的是,这套API对图形和图表的支持很有限,而且仅仅识别PNG格式。 Exception in thread "main" jxl.read.biff.BiffException: Unable to recognize OLE stream at jxl.read.biff.CompoundFile.<init>(CompoundFile.java:116) at jxl.read.biff.File.<init>(File.java:127) at jxl.Workbook.getWorkbook(Workbook.java:221) at jxl.Workbook.getWorkbook(Workbook.java:198) at com.javaer.file.ExcelRead.read(ExcelRead.java:17) at com.javaer.file.ExcelRead.main(ExcelRead.java:44) 所以暂时认为jxl读取高版本excel可能存在问题。 package com.javaer.file;   import java.io.File; … 继续阅读

发表在 JAVA | 标签为 , | 留下评论

java实现炮塔游戏增加一个炮塔

大致的情况为,点击一个炮塔,然后这个炮塔跟着鼠辈移动到目标地点,然后点击放下这个炮塔。 原理为,点击炮塔为监测鼠标点击事件,是否点中这个炮塔,如果点中,那么复制一个炮塔,随着鼠标在窗体上移动。 package com.javaer.examples.awt;   import java.awt.Color; import java.awt.Container; import java.awt.event.MouseEvent; import java.awt.event.MouseListener; import java.awt.event.MouseMotionListener;   import javax.swing.ImageIcon; import javax.swing.JFrame; import javax.swing.JLabel;   /** * 随着鼠标走动的图片 * * @author mc2 * */ public class MoveImageMouse {   /** * @param … 继续阅读

发表在 JAVA | 标签为 , , , | 留下评论