❶ 在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>();