java中什么是临时向量(学java有必要学STL吗)
各位老铁们,大家好,今天由我来为大家分享java中什么是临时向量,以及学java有必要学STL吗的相关问题知识,希望对大家有所帮助。如果可以帮助到大家,还望关注收藏下本站,您的支持是我们最大的动力,谢谢大家了哈,下面我们开始吧!
什么叫变量
变量来源于数学,是计算机语言中能储存计算结果或能表示值抽象概念。变量可以通过变量名访问。在指令式语言中,变量通常是可变的。
但在纯函数式语言(如Haskell)中,变量可能是不可变(immutable)的。在一些语言中,变量可能被明确为是能表示可变状态、具有存储空间的抽象(如在Java和Visual Basic中)。
但另外一些语言可能使用其它概念(如C的对象)来指称这种抽象,而不严格地定义“变量”的准确外延。
存活期
变量存在的时间称为存活期。Script级变量的存活期从被声明的一刻起,直到Script运行结束。对于过程级变量,其存活期仅是该过程运行的时间,该过程结束后,变量随之消失。
在执行过程时,局部变量是理想的临时存储空间。可以在不同过程中使用同名的局部变量,这是因为每个局部变量只被声明它的过程识别。
作用域
变量的作用域由声明它的位置决定。如果在过程中声明变量,则只有该过程中的代码可以访问或更改变量值,此时变量具有局部作用域并被称为过程级变量。如果在过程之外声明变量,则该变量可以被Script中所有过程所识别,称为Script级变量,具有Script级作用域。
参考资料来源:百度百科--变量(计算机名词)
学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>();
java中trim()方法是用来干什么的
trim()的作用是去掉字符串两端的多余的空格,注意,是两端的空格,且无论两端的空格有多少个都会去掉,当然
中间的那些空格不会被去掉,如:
String s=" a s f g";
String s1= s.trim();
那么s1就是"a s f g",可见,这和上面所说的是一样的。
trim()不仅可以去掉空格,还能去掉其他一些多余的符号,这些符号分别是:
\t \n \v \f \r \x0085 \x00a0? \u2028 \u2029
翻译过来分别是:水平制表符,换行符,垂直制表符,换页符,回车,后面的这几个除了问号外,其他的都是转义符形式写法。
扩展资料:trim()函数移除字符串两侧的空白字符或其他预定义字符。
功能除去字符串开头和末尾的空格或其他字符。函数执行成功时返回删除了string字符串首部和尾部空格的字符串,发生错误时返回空字符串("")。如果任何参数的值为NULL,Trim()函数返回NULL。
参考资料:Trim函数–百度百科
java中的&&和||有什么区别
JAVA中&&意思是“条件与”逻辑操作符,使用方法是x&&y,功能x和y均为true,取值是true,否则取值是false。
JAVA中||意思是“条件或”逻辑操作符,使用方法是x||y,功能x和y有一个为true,取值是true,否则取值是false。
扩展资料:
JAVA语言中进行逻辑表达式求值运算时,不但要注意逻辑运算符本身的运算规则,而且还必须从最左边一个计算部分开始,按照逻辑运算的规则计算该部分的值。每计算完一个部分就与该部分右边紧靠着的逻辑运算符根据真值表进行逻辑值判断。
在逻辑表达式的求解过程中,任何时候只要逻辑表达式的值已经可以确定,则求解过程不再进行,求解结束。
参考资料来源:
百度百科——&&
百度百科——||
关于本次java中什么是临时向量和学java有必要学STL吗的问题分享到这里就结束了,如果解决了您的问题,我们非常高兴。