❶ 在java開發中什麼是業務邏輯
銀行匯款。你卡上見100元,他卡上加100元。這兩步就是一個業務邏輯。要麼成功,只有一個失敗就全部失敗。出現sql,hql,criter不一定就是~~~只是傳參而已。用spring可以往service里注入
❷ 學java有必要學STL嗎
Java 中所有的STL均繼承自Collection類。所以Collection類的方法所有的子類均可使用:
ACM中常用的方法有
boolean add(Object obj)
boolean remove(Oblect obj)
boolean contains(Object obj)
void clear()
boolean isEmpty()
Iterator iterator()
int size()
另外Collections類中包含sort方法可以對Vector容器進行排序,但是Vector中的元素必須實現Comparable介面或自定義Comparator,詳見Vector。
請注意Collections和Collection不一樣,前者是介面後者是類。
Set
java 中的Set是一個抽象的類,因此我們不可以用Set直接定義實例,必須通過子類來定義實例。常見的子類有 HashSet , TreeSet等。
另外java中的所有容器的元素都只能是類的實例而不可以是基本數據類型。所以我們不能定義裝有int的Set而是要把int改為Integer類。
HashSet
HashSet 中的元素需要實現hashCode()方法,以實現元素的比較
class P
{
int x, y;
int hashCode()
{
return x*100000 + y;
}
}
Set<P>st = new HashSet<P>();
遍歷Set中的元素
1 迭代器
Iterator<P> it = st.iterator();
while(it.hasNext())P e=it.next();
2 枚舉
for(P e : st)System.out.println(e.x+" "+e.y);
TreeSet
TreeSet 與HashSet不同的地方在於TreeSet中的元素要實現Comparable介面
值得注意的是 TreeSet與C++中的set很相似,遍歷是會自動按照comparable定義的順序進行
class P implements Comparable<P>
{
int x,y;
int compareTo(P e)
{
return x<e.x?-1:1;
}
}
C++中set有upper_bound(),lower_bound()方法和multiset,遺憾的是Java中 我暫時還沒有看到
Map
Map 同Set一樣包含HashMap和TreeMap 且如果遍歷TreeMap會自動按照comparable規定的順序進行
boolean containsKey(Object key)
boolean containsValue(Object value)
value get(Object key)
value put(Object key,Object value)
Map的一般用法
1.聲明一個Map:
Map map = new HashMap();
2.向map中放值,注意: map是key-value的形式存放的,如:
map.put("sa","dd");
3.從map中取值:
String str = map.get("sa").toString,
結果是: str = "dd'
4.遍歷一個map,從中取得key和value:
Map m= new HashMap();
for(Object obj : map.keySet()){
Object value = map.get(obj );
}
網上找的程序遍歷map
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
public class HashMapTest {
private static Map<Integer, String> map=new HashMap<Integer,String>();