javaseq
⑴ 用java實現循環隊列
簡單寫了下,希望你能看明白
import java.util.ArrayList;
public class SeqQueue {
ArrayList<String> list;
public SeqQueue() {
list = new ArrayList<String>();
}
public String getFirst() {
if (!list.isEmpty()) {
String s = list.get(0);
list.remove(0);
return s;
}
return null;
}
public void insertLast(String s) {
list.add(s);
}
public static void main(String[] args) {
SeqQueue seq = new SeqQueue();
seq.insertLast("111");
seq.insertLast("222");
seq.insertLast("333");
System.out.println(seq.getFirst());
System.out.println(seq.getFirst());
System.out.println(seq.getFirst());
}
}
⑵ java ackseq = 1什麼意思
這個是socket編程裡面的吧,
如果我沒記錯的話坦兄應該是http三次握手請求裡面的請裂信手求返回參數肆嫌
ackseq=1表示連接成功,0表示不成功,
⑶ Scala中的Seq和List之間的區別
Scala的Seq將是Java的List,Scala的List將是Java的LinkedList。
請注意,Seq是一個trait,它相當於Java的介面,但相當於即將到來的防禦者方法。 Scala的List是一個抽象類,由Nil和::擴展,這是List的具體實現。
所以,在Java的List是一個介面,Scala的List是一個實現。
除此之外,Scala的List是不可變的,這不是LinkedList的滲鬧情況。事實上,Java沒有等價的不可變集合(只讀的東西只保證新的對象不能改變,但你仍然可以改變舊的,因此,「只讀」一個)。
Scala的List是由編譯器和庫高度優化的,它是函數式編程中的基本數據類型。然而,它有限制,它不足以並行編程。這些天,Vector是一個比List更好的選擇,但習慣是很難打破。
Seq是一個很好的泛化序列,游和所以如果你編程到介面,你應該使用它。注意,實際上有三個:collection.Seq,collection.mutable.Seq和collection.immutable.Seq,它是後一個是「默認」導入到范圍。
還有GenSeq和ParSeq。後面的方法在可能的情況下並行運行,前者是Seq和ParSeq的父代,這叢磨罩是當代碼的並行性無關緊要的合適的泛化。它們都是相對新引入的,因此人們不會使用它們。
⑷ java怎麼取orcle中的自增序列
很衡衫多方法,下面是一種
//公共代碼:得到資料庫連接
publicConnectiongetConnection()throwsException{
Class.forName("oracle.jdbc.driver.OracleDriver").newInstance();
Connectionconn=DriverManager.getConnection("jdbc:oracle:thin:@127.0.0.1:1521:dbname","username","password");
returnconn;
}
//先用selectseq_t1.nextval模宴asidfromal取到新的sequence值。
//然後將最新的咐碼腔值通過變數傳遞給插入的語句:insertintot1(id)values(?)
//最後返回開始取到的sequence值。
//這種方法的優點代碼簡單直觀,使用的人也最多,缺點是需要兩次sql交互,性能不佳。
()throwsException{
Connectionconn=getConnection();
Stringvsql="selectseq_t1.nextvalasidfromal";
PreparedStatementpstmt=(PreparedStatement)conn.prepareStatement(vsql);
ResultSetrs=pstmt.executeQuery();
rs.next();
intid=rs.getInt(1);
rs.close();
pstmt.close();
vsql="insertintot1(id)values(?)";
pstmt=(PreparedStatement)conn.prepareStatement(vsql);
pstmt.setInt(1,id);
pstmt.executeUpdate();
System.out.print("id:"+id);
returnid;
}
⑸ 用java程序為一列字元串編寫對應序號,相同的字元串序號相同
import java.io.BufferedReader;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.HashMap;
public class A {
public static void main(String[] args){
int seq=0;
HashMap<String,Integer> hm=new HashMap<謹掘String,Integer>();
FileInputStream fi = null;
BufferedReader br = null;
try {
fi=new FileInputStream(new File("D:/a.txt"));
br=new BufferedReader(new InputStreamReader(fi));
String s="";
while((s=br.readLine())!=null){
if(hm.get(s)==null){
hm.put(s, ++seq);
System.out.printf("%-20s%d\n",s,seq);
}else{
System.out.printf("顫猜%-20s%d\n", s,hm.get(s));
}
}
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
/茄晌型/ TODO Auto-generated catch block
e.printStackTrace();
}finally{
try {
br.close();
fi.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
}
⑹ 如何用Java給Sequence 賦值
Java創建旦冊對象並賦值,示例如下
Interger i = new Interger(1);
String s = 「已經被創建了";
創建對象可以指定構造函數裡面的初始化變數,也可以像string對橋晌象一樣,直接用雙引號生成對象,並且是不可以敏遲鋒改變的。
⑺ 自定義序號,未使用回收java
自定義序號,未殲改使用回收java用seq。seq——基沖咐於mysql+spring-jdbc的自增序號氏判判生成器用於生成全局自增序號,跳過的序號能回收使用。
⑻ java如何生成12位永遠不重復的數字
Calendar calendar = Calendar.getInstance();
System.out.println("現在:"+calendar.getTime().getTime());
calendar.add(Calendar.YEAR, 10);
System.out.println("10年後:"+calendar.getTime().getTime());
時間戳高並發還是會有重復的,你應該每獲取一次加1的方法生成。用鎖對象或者把方法聲明為synchronized保證並發也不會重復。如果有用資料庫,也可以用資料庫提供的sequence來幫你生成。
(8)javaseq擴展閱讀:
當編輯並運行一個Java程序時,需要同時涉及到這四種方面。使用文字編輯軟體(例如記事本、寫字板、UltraEdit等)或集成開發環境(Eclipse、MyEclipse等)在Java源文件中定義不同的類;
通過調用類(這些類實現了Java API)中的方法來訪問資源系統,把源文件編譯生成一種二進制中間碼,存儲在class文件中,然後再通過運行與操作系統平台環境相對應的Java虛擬機來運行class文件,執行編譯產生的位元組碼,調用class文件中實現的方法來滿足程序的Java API調用。